请教各位大虾。我用VC++做了一个小程序,本来是连接Access数据库的,现在想把它改成连接SQL Server 2005。怎么改过来后老是说“SQL Server 不存在或被拒绝访问”?我连接Access数据库的代码如下:
void ADOConn::OnInitADOConn()
{
//初始化OLE/COM库环境
    ::CoInitialize(NULL);
try
{
//创建connection对象
      m_pConnection.CreateInstance("ADODB.Connection");    
   //设置连接字符串
   //Access数据库连接语句
   _bstr_t strConnect="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=shujuku.mdb;";    
   //SERVER和UID,PWD的设置根据实际情况来设置
   m_pConnection->Open(strConnect,"","",adModeUnknown);
   
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}改为SQL Server 2005连接的代码为:
void ADOConn::OnInitADOConn()
{
//初始化OLE/COM库环境
    ::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof( Connection));
_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=True;UID=sa;PWD=a;Initial Catalog=shujuku;Data Source=11W\SQLEXPRESS";

// _bstr_t strConnect="driver={SQL Server};server=127.0.0.1;UID=sa;PWD=a;database=shujuku";

        m_pConnection->Open(strConnect,"","",adModeUnknown);
   
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}
但就是连接不上。请问那里有错。从Access改为sql server 2005只需要改这一个地方就可以了吧?我应该怎么改?谢谢了~

解决方案 »

  1.   

    _bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=True;UID=sa;PWD=a;Initial Catalog=shujuku;Data Source=11W\\SQLEXPRESS";
      

  2.   

    _bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=True;UID=sa;PWD=a;Initial Catalog=shujuku;Data Source=11W\\SQLEXPRESS";
      

  3.   


    太谢谢你了啊,行了,就是少了一个斜扛。服务器名我是直接从SQL Server里面拷的,它只有一个斜扛,竟然要加多一斜扛。真的太谢谢你了。全部分给你~