Cognos使用ODBC连接Mysql问题汇总
1.先将需要的两个包下载好:
unixODBC-2.2.11-7.1.i386.rpm
mysql-connector-odbc-3.51.30-1.rhel5.i386.rpm
注意:Congos只支持32位的unixODBC驱动,如果是64位在Congnos控制台连接时会报错:wrong ELF class: ELFCLASS64
安装完成后的libodbc.so文件位于/usr/lib目录下,需要在.bash_profile文件中增加环境变量配置:export LD_LIBRARY_PATH=/usr/lib
2.执行rpm -ivh unixODBC-2.2.11-7.1.i386.rpm和rpm -ivh mysql-connector-odbc-3.51.30-1.rhel5.i386.rpm本别安装unixodbc和mysql驱动
3.修改/etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc3.so
#Setup = /usr/lib/libodbcmyS.so
FileUsage = 1
4.修改/etc/odbc.ini
[Mysql-test]
Driver = MySQL
Description = mysql
Server = 172.30.64.215
Database = report
Port = 3306
User = bdsp
Password = 123456
5.进入Congos Administration -> 数据源连接,连接字符串和数据源都写Mysql-test,显示已成功
6.若需要在客户端安装Framework Manager,那么windows客户端也需要安装mysql-connector-odbc驱动:mysql-connector-odbc-3.51.30-win32.msi
QE-DEF-0323 The DSN(ODBC)/ServiceName is invalid.
7.Framework在创建数据源时,需要将Project的查询方式从动态的改为兼容的,否则会报错:提供程序类型OD在此方式不受支持
[2014-08-13]今天在研究Report Studio的报表时,发现无论如何就只能获取到一条数据。将mysql-connector-odbc升级到5.1(32bit)后解决,需要注意的是,在配置数据源时,5.1驱动下的链接字符串要设置为空,否则会报连接字符串错误
[2014-08-15]Mysql数据存在中文时,Framework Manager测试元数据直接报232错误,在Congnos Administrator编辑连接字符串页面中勾选"Unicode ODBC"项之后问题解决
[2014-10-14]今天发布生产环境,发现只装上述两个包会缺少libodbcinst.so文件,还要从开发环境手工复制一个过去
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
Mysql使用source命令导入时,如果遇到乱码先执行set character_set_results=utf8