MySQL数据源与葡萄城报表的集成方法
MySQL是常见的一种数据源,本文以葡萄城报表为例,介绍如何将MySQL数据源和报
表系统集成。
葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集
成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建
专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台
发布。
如果数据源是MySQL数据库,可通过ODBC方式进行连接。
定义数据源之前,请从以下网址下载MySQL数据库的ODBC驱动程序并安装:
64位ODBCDrivers:
https://dev.mysql.com/downloads/connector/odbc/
在64位操作系统中,必须同时下载并安装32位和64位两个版本的ODBC驱动程序,如
下图:
如果安装ODBC驱动程序失败,请先从微软网站下载安装VisualC++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)在报表设计器中,右键单击报表资源管理窗格中的【数据源】节点,再单击【添加
数据源】,如下图:
(2)在数据源【类型】处选择“MicrosoftOdbcProvider”。
(3)输入如下形式的连接字串:
Driver={MySQLODBC5.3UNICODEDriver};Server=???;Port=????;Database=???;
User=???;Password=???;Option=3;
其中,Server参数为MySQL数据库服务器的IP地址,Port参数为MySQL服务器的端
口号,默认为3306,Database参数为数据库名。例如:
Driver={MySQLODBC5.3UNICODEDriver};Server=192.168.1.23;Port=3306;
Database=MyDb;User=root;Password=123;Option=3;
(4)点击【确定】按钮,保存数据源设置。
基于MySQL数据源定义数据集时,如果提示错误信息,请按如下方法排错:
(1)提示“xxxisnotallowedtoconnecttothisMySQLserver”
这是因为服务器端禁止客户端访问,可通过两种方法解决:
(a)在MySQL服务器上执行GRANT授权语句,如:
GRANTALLPRIVILEGESON.TO‘root’@’192.168.1.3′IDENTIFIEDBY
‘mypassword’WITHGRANTOPTION;
(b)在MySQL服务器上修改user表中的记录,将host字段的值更新为百分号(%):
mysql>usemysql
mysql>GRANTSELECT,INSERT,UPDATE,DELETEON[db_name].TO
[username]@[ipadd]identifiedby''[password]'';
mysql>updateusersethost=‘%’whereuser=‘root’;
(2)提示错误:08S01LostconnectiontoMySQLserverat''waitingforinitial
communicationpacket''
这是通讯设置问题,解决方法如下:
(a)在/etc/my.cnf文件的[mysqld]中加上skip-name-resolve,然后重启MySQL。
(b)在/etc/hosts文件中添加【IP地址主机名】映射,例如:
192.168.1.1localhost
(3)参数查询不出结果,可能是参数形式问题,参数必须是问号形式,如:
selectfromuserinfowheredate_format(duedate,''%Y'')=?andID<=?
多个参数时,按数据集定义对话框中【参数】列表的次序来匹配。
|
|