最近在做一个药品配伍查询的软件,利用vc++访问数据库的ADO技术,数据库采用SQL Server 2005。一切都是摸索着前进,前路的坎坷是可想而知的,现将遇到的问题和解决方法记录下来,以备将来回顾。
第一个遇到的问题是参考例程运行报错[dbnetlib][connection open]sql server不存在或拒绝访问。
主要是两个原因。
1.SQL Server 2005没有进行相关配置
http://wenku.baidu.com/view/b8fd06d8ce2f0066f53322fa.html
http://wenku.baidu.com/view/ec9662db6f1aff00bed51e81.html
http://apps.hi.baidu.com/share/detail/2788990
我是把能设的都设置上了,采用SQL Server身份验证,登录名为sa,无密码。
2.连接字符串有误
(1)新建一个文本文档,命名为TestSQL.UDL;
(2)双击打开,出现如下对话框,点击“提供程序”,选中“Microsoft OLE DB Provider
for SQL Server”,点击下一步;
(3)选择服务器,使用指定的用户名和密码,选择数据库,测试连接;
(4)如果成功,点击确定,将本文件放入工程文件夹中。
在VC代码中,连接数据库部分代码:
m_pConnection.CreateInstance(_uuidof(Connection));
m_pConnection->ConnectionString="File Name=TestSQL.UDL";//连接字符串
m_pConnection->Open("","","",adConnectUnspecified);