在 Win7 下 VS2005 中 VC 使用 ADO 连接数据库时字符集为非 Unicode ,连接代码如下:
CoInitialize(NULL); _ConnectionPtr pConn(__uuidof(Connection)); _RecordsetPtr pRst(__uuidof(Recordset)); pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123123;Initial Catalog=MyTest;Data Source=KANG-PC\SQL2005"; //需连接数据库: MyTest //服务器名: KANG-PC\SQL2005 //登陆用户: sa //登入密码: 123123 pConn->Open("","","",adConnectUnspecified);
连接字符串是在 VB 中利用 Microsoft Ado Data Control 控件中取得,并成功连接数据库.(记得在以前用 VC6.0 时候利用这个字符串就可以连接数据库了),可是这里出现错误.由 try catch 捕获到的错误信息:
未指定的错误//由 e.ErrorMessage() 获得
012FEF78//由 e.ErrorInfo() 获得
[DBNETLIB][ConnectionOpen(Connect()).]SQL Server不存在或拒绝访问。//由 e.Description() 获得
KANG-PC\SQL2005 这个在开发的机器上能正常访问吗?
ADO方式读64程序存在一定的问题,msdn网站有描述
对不起,我没太懂您说在开发的机器上能正常访问.想问问您说的那种访问,
是指在开发的机器上利用 SQL Server Management Studio 可以用 KANG-PC\SQL2005 正常访问数据库?(这个我试过了可以)
还是利用 DSN 来进行访问数据库.(为此我建立了一个 DSN),因为对 ADO 还不太了解所有我一开始先用 ODBC 来测试,然后可以正常访问数据库.接着我在网上也找到 ADO 利用 DSN 来访问数据库例子,然后照着例子也成功访问到了数据库.连接代码如下:
CoInitialize(NULL); _ConnectionPtr pConn(__uuidof(Connection)); pConn->Open("DSN=SQL Server;","","",0);// SQL Server 为我的 DSN 名
还是您指的的其他的访问方式?
我想问问上面是我连接字符串问题么?还有您说的ADO方式读64程序存在一定的问题,msdn网站有描述?可以给个链接么?谢了.