用C++的SQLConfigDataSource函数配置数据源针对db2数据库的问题
最近研究了一下动态配置数据源的问题,用这个SQLConfigDataSource函数可以很好的配置SQL Server数据源,如下:
LPCWSTR lpcwStr=L"DSN=base\0Description=ztems\0SERVER=10.69.0.30\0DATABASE=master\0";
LPCWSTR m_strDrive=L"SQL Server";
SQLConfigDataSource(NULL,ODBC_ADD_DSN,m_strDrive,lpcwStr);
但是换成db2数据库就不能配置了
LPCWSTR lpcwStr=L"DSN=db2\0SERVER=10.69.0.30\0UID=db2admin\0PWD=zte123\0DATABASE=sample\0port=50000\";
LPCWSTR m_strDrive=L"IBM DB2 ODBC DRIVER";
SQLConfigDataSource(NULL,ODBC_ADD_DSN,m_strDrive,lpcwStr);
上面的代码不知道那些错了,函数SQLConfigDataSource的返回值是0,没用成功建立数据源,有没有用过这个函数的大神,指导一下。
[解决办法]
对DB2的连接字符串,有如下方式:
OLE DB Provider for DB2
oConn.Open = "Provider=DB2OLEDB;" &
"Network Transport Library=TCPIP;" &
"Network Address=MyServer;" & _
"Package Collection=MyPackage;" &
"Host CCSID=1142"
"Initial Catalog=MyDB;" &
"User ID=MyUsername;" & _
"Password=MyPassword;"