在利用ADO方式连接SQLServer2008的过程中遇到了很多问题,在网上也没有找到许多有利的信息,花了两天时间,终于把所有问题都搞定了。在这里和大家分享一下经验,希望后来者能少走弯路。
很多教程说首先在程序头加入如下代码。
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")ename("EOF", "adoEOF")
但是在插入编译器可能会报错,如果报错说缺少文件msad0.tli的话,在这句代码之前加上
#define AFX_ADOCONN_H__5FB9A9B2_8D94_44F7_A2DA_1F37A4F33D10__INCLUDED_
接着会经常出现的问题在连接字符串上,测试了许多字符串,找到了能用的
Provider=SQLOLEDB.; User ID=sa; Password=jshan520; Data Source=127.0.0.1,; Initial Catalog=student
其中user id和password是你的数据库验证账号和密码,data source是服务器地址和端口号(注意:端口必须加上,且为1433)。initial catalog是你的数据库名称。
接着进行调试,你会发现调用 _com_error e.Description()会出现错误SQLServer无法连接或访问不存在。我们这时候打开SQLServer配置管理器->SQLServer网络配置->SQLEXPRESS的协议->双击TCP/IP->Ip地址
找到ip地址为127.0.0.1的选栏将TCP端口填上1433,已启用选择是,然后再主菜单SQL服务中重启SQLEXPRESS即可。