PB连Mysql根据网上资料走了一些弯路,在这里总结下:
1. 安装ODBC驱动
在安装mysql-connector-odbc-8.0.16-win32.msi之前,
先安装vc_redist.x86.exe(vc++ 2015)。
注意:要安装32位版本的,因为PB12.5是32位的!
2. 配置DSN文件
[ODBC]
DRIVER=MySQL ODBC 8.0 Unicode Driver
SERVER=*.*.*.* (Mysql服务器IP)
PORT=3306 (端口号)
CHARSET=utf8 (字符集)
UID=root (Mysq登录账户)
DATABASE=******* (数据库名称)
IGNORE_SPACE=1
FLAG_SAFE=1
3. PB配置连接参数
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm="ConnectString='UID=root;PWD=<******>;FileDSN=****.dsn;'"
可以直接将DSN文件的配置参数写入DBParm
//ODBC Mysql
SQLCA.DBParm = "ConnectString='DRIVER={MySQL ODBC 8.0 Unicode Driver};SERVER=.;PORT=3306;DATABASE=test;UID=root;PWD=<******>;CHARSET=utf8;OPTION=135168'"?
//ODBC SQL server
SQLCA.DBParm = "ConnectString='DRIVER={sql server};SERVER=localhost;DATABASE=test;UID=sa;PWD=<******>'"
参考:Mysql官网上建议参数 OPTION=135168
MySQL :: MySQL Connector/ODBC Developer Guide :: 5.2 Connector/ODBC Connection Parameters
4. PB OLE DB(连MSSQL)
SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = <********>
SQLCA.LogId = "nhwater2"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDERSTRING='Database=nhwater2',DATASOURCE='.',PROVIDER='SQLOLEDB'"
5. ODBC连MSSQL
DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=nhwater2