用C++ 连接SQL2008时使用计算机名称 无法连接到服务器 [问题点数:20分]

try {
//OK//_bstr_t strConnect="Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=dataSource;Data Source=127.0.0.1,1433;providerName=System.Data.SqlClient";
_bstr_t strConnect="Provider=SQLOLEDB;Password=123456;User ID=sa;Server=USERXXJ\SQPC;Initial Catalog=dataSource";

        sqlSp->Open(strConnect,"","",adModeUnknown);
    }
    catch(_com_error &e) {
        cout<< "OPEN ERROR !" << e.Description()<<endl;
        //return 0;
    }
    用IP 连接可以通过,但是用计算机名称无法连接数据库(下面的连接);提示:SQL不存在或拒绝访问; 

2个回答

可以用了 但是还要谢谢你的回答; 贴码啦:_bstr_t strConnect="Provider=SQLOLEDB.1;Password=123456;User ID=sa;Data Source=XXX-PC\实例名;Initial Catalog=data;Connect Timeout=20;providerName=System.Data.SqlClient";

计算机上有不止一个 sql 实例,用计算机名连接的不是这个sql server。是不是还安装了sql server express。

shenma_CS
sdoe 连接局域网内的不行_bstr_t strConnect="Provider=SQLOLEDB;Password=123456;User ID=sa;Data Source=MAXXXPC,1433;Initial Catalog=dataSource;Connect Timeout=20"; 但是通过SQLManagement 连接是能连接上的;(我用的是SQL2008;需要C++连接局域网内的服务器)
5 年多之前 回复
shenma_CS
sdoe //OK//_bstr_t strConnect="Provider=SQLOLEDB;Password=123456;User ID=sa;Data Source=USERXXJ,1433;Initial Catalog=dataSource;Connect Timeout=20";
5 年多之前 回复
shenma_CS
sdoe 没有安装sql server express, 昨晚调了一下,现在是用计算机名连接本地的可用。 但是连接局域网内的就不行了;
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐