Code Bye

vs2008通过ADO连接SQL提示SQL server不存在或拒绝访问

#include <iostream>
#include <iomanip>
#import “c:\program files\common files\system\ado\msado15.dll” named_guids rename_namespace(“ADOCG”) rename(“EOF”, “EndOfFile”) rename(“BOF”,”FirstOfFile”)
using namespace ADOCG;
using namespace std;
int main()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
_ConnectionPtr pConn(“ADODB.Connection”);
_RecordsetPtr m_pRecordset(“ADODB.Recordset”);
//连接字符串,此处为DB2的连接字符串,其它数据库的百度一下就知道
// _bstr_t strConnect=”Driver = SQL Server;Server=ND-2572\SQLEXPRESS;Database=con_suc_statis;UID = sa;PWD = 123″;
// _bstr_t strConnect=”Provider=SQLOLEDB;Server=ND-2572\SQLEXPRESS;Database=con_suc_statis; uid=sa;Password=123″;
_bstr_t strConnect = “Provider=SQLOLEDB.1;Integrated Security = SSPI;Persist Security Info = FALSE;Data Source=SQL Server;Initial Catalog=ADODemo”;
//步骤1–打开连接
pConn->Open(strConnect,””,””,adModeUnknown);
//步骤2–创建命令
//步骤3–执行命令
m_pRecordset=pConn->Execute(“select * from statistic”,NULL,adCmdText);
//步骤4–操作数据
//操作数据可以选择其他的删除、修给、插入等这里只是读出数据库中表中的数据
/*_variant_t id,name;
cout<<“编号       姓名 “;
cout<<“n–n”;
while (!m_pRecordset->EndOfFile)
{
id = m_pRecordset->GetCollect(_variant_t((long)0));
name = m_pRecordset->GetCollect(_variant_t((long)1));
//给字段编号或是字段名
//id = m_pRecordset->GetCollect(“USERS_ID”);
//name = m_pRecordset->GetCollect(“USERS_NAME”);

if (id.vt != VT_NULL && name.vt != VT_NULL)
{
cout.setf(ios::left);
cout<<setw(14)<<(char*)(_bstr_t)id;
cout<<setw(14) <<(char*)(_bstr_t)name;
cout.unsetf(ios::left);
cout<<endl;
}
//移到下一条记录
m_pRecordset->MoveNext();
}*/
// 关闭记录集
m_pRecordset->Close();
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
cerr<<“nERROR:”<<(char*)e.Description();
}
::CoUninitialize();
return 0;
}
本人把插入的记录先注释了,数据库无法连接啊。试了两个连接字符串都不可以,所以注释了,第三个提示SQL SERVER不存在或拒绝访问。数据源那里名字是SQL Server,服务器为ND-2572\SQLEXPRESS,使用windows验证的,默认的数据库为con_suc_statis(这也是本人要连接的数据库)。求高手帮助啊,感激不尽,高手在哪里?小子就有100分,都给了!

解决方案:40分
可以用ADO助手试试获取连接字符串和SQL。
解决方案:60分
留个邮箱什么的,本人给你发个本人本人总结的关于c++ ADO连接数据库的代码类

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明vs2008通过ADO连接SQL提示SQL server不存在或拒绝访问