在VS2008中通过ADO方式连接SQLSERVER2005

来源:互联网 发布:xbox怎么玩 知乎 编辑:程序博客网 时间:2024/04/29 18:52

很多要注意的地方 只要有一个小细节出错就会连错

大开SQL服务 远程连接还要大开SQL Brower

首先要引入ado动态链接库文件msado15.dll

no_namespace 声明不用命名空间

接着就是初始建立实例

最关键的是连接字符串

m_pConnection->Open("Driver=SQL Server;Server=CHOU-PC//SQLEXPRESS;DATABASE=chou;UID=sa;PWD=123456","","",adModeUnknown);
Driver为所需的连接驱动器 此处为"SQL Server“,大小写和空格都不能错 否则连接出错

Server为服务器,此处连接本机,不能用127.0.0.1,而必须用数据库的实例名字

即 主机名-PC//SQLEXPRESS 必须是两个斜杠,直接复制本机的实例名只有一个斜杠,也会导致出错

因为在代码中第一个斜杠为转义 这个很重要

DATABASE为连接的数据库名

UID为登陆的数据库用户名

PWD为用户名密码

adModeUnknown为默认缺省访问方式 该值为0

捕捉异常 e.Description()可以打印异常信息 查看异常信息可以帮助你找到错误

 

代码如下

 

#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
#include<iostream>
using namespace std;
void main()
{
CoInitialize(NULL);//注意要放在最开始
_ConnectionPtr m_pConnection;
HRESULT hr=m_pConnection.CreateInstance("ADODB.Connection");//
//m_pConnection.CreateInstance("ADODB.Connection");
if(FAILED(hr))
cout<<"Initialized failed."<<endl;
try
{
 m_pConnection->Open("Driver=SQL Server;Server=CHOU-PC//SQLEXPRESS;DATABASE=chou;UID=sa;PWD=123456","","",adModeUnknown);
    cout<<"ok"<<endl;
 system("pause");
}
catch(_com_error e)
{   cout<<"error"<<
   e.Description();
  return ;
}
}

 

原创粉丝点击