使用Vs2003 C++程序链结数据库,总是提示错误IDispatch error #3149.

一种可行的解决办法是改写连接字符串:

//创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
//连接Oracle数据库字符串
//_bstr_t strConnect = _T("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=MyUsername;Pwd=MyPassword;");
//m_pConnection->Open(strConnect,"","",adModeUnknown);
//连接SQL Server数据库的字符串
//_bstr_t strConnect = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Password=123;Initial Catalog=xx;Data Source=(local)";
//执行数据连接
m_pConnection->Open((_bstr_t)strConnectSQL,"","",adModeUnknown);
//连接Access数据库的字符串
//_bstr_t strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xx.mdb";
//m_pConnection->Open(strConnect,"","",adModeUnknown);