Page tree
Skip to end of metadata
Go to start of metadata


如果数据源是MySQL数据库,可通过ODBC方式进行连接。

定义数据源之前,请从以下网址下载MySQL数据库的ODBC驱动程序并安装:

https://dev.mysql.com/downloads/connector/odbc/

请根据报表服务器操作系统的类型,选择下载32位或64位的驱动程序版本。

如果安装ODBC驱动程序失败,请先从微软网站下载安装Visual C++ 2010 可再发行软件包。对于64位操作系统,该软件包也必须同时安装32位和64位的版本:

64位版本:vcredist_x64.exe https://www.microsoft.com/zh-CN/download/details.aspx?id=14632

32位版本: vcredist_x86.exe https://www.microsoft.com/zh-CN/download/details.aspx?id=5555

MySQL数据源的定义方法如下:

(1)在数据源的【类型】处选择"Microsoft Odbc Provider"。

(2)在【连接字符串】中,如下形式的连接字串。

Driver={MySQL ODBC 5.3 UNICODE Driver}; Server=?; Database=?; User=root; Password=???; Option=3;

其中,Server参数为MySQL数据库服务器的IP地址,Port参数为MySQL服务器的端口号,默认为3306,Database参数为数据库名。

例如:

Driver={MySQL ODBC 5.3 UNICODE Driver}; Server=192.168.1.23; Port=3306; Database=MyDb; User=root; Password=123; Option=3;

(3)点击【连接测试】按钮验证连接字串的正确性,再点击【保存】按钮。 


基于MySQL数据源定义数据集时,如果提示错误信息,请按如下方法排错:


(1)提示"xxx is not allowed to connect to this MySQL server"

这是因为服务器端禁止客户端访问,可通过两种方法解决:

(a)在MySQL服务器上执行GRANT授权语句,如:

GRANT ALL PRIVILEGES ON . TO 'root'@'192.168.1.3′ IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

(b)在MySQL服务器上修改user表中的记录,将host字段的值更新为百分号(%):

mysql>use mysql

mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON \[db_name\].* TO \[username\]@\[ipadd\] identified by '\[password\]';

mysql>update user set host = '%' where user = 'root';


(2)提示错误:08S01 Lost connection to MySQL server at 'waiting for initial communication packet'

这是通讯设置问题,解决方法如下:


(a)在/etc/my.cnf文件的\[mysqld\]中加上 skip-name-resolve,然后重启MySQL。


(b)在/etc/hosts文件中添加【IP地址 主机名】映射,例如:

192.168.1.1 localhost


(3)参数查询不出结果,可能是参数形式问题,参数必须是问号形式,如:

select * from userinfo where date_format(duedate,'%Y') = ? and ID<=?

多个参数时,按数据集定义对话框中【参数】列表的次序来匹配。


  • No labels