Chinaunix首页 | 论坛 | 博客
  • 博客访问: 431383
  • 博文数量: 69
  • 博客积分: 957
  • 博客等级: 准尉
  • 技术积分: 1161
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-26 14:54
文章分类

全部博文(69)

文章存档

2013年(15)

2012年(12)

2011年(42)

分类: C/C++

2013-08-09 13:12:16

此处有一ADOConn类,专门用来操作sqlserver数据库的连接

// 初始化—连接数据库   
void  ADOConn::OnInitADOConn()   
{   
    // 初始化OLE/COM库环境    
    ::CoInitialize(NULL);   
     
    try   
    {   
        // 创建Connection对象   
        m_pConnection.CreateInstance("ADODB.Connection");   
        // 设置连接字符串,必须是BSTR型或者_bstr_t类型   
        _bstr_t strConnect = "Provider=SQLOLEDB.1; Server=127.0.0.1,1433; Database=frid; uid=frid; pwd=123;";   
// _bstr_t strConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=frid;PWD=123;Initial Catalog=master;Data Source=127.0.0.1,1433";
m_pConnection->Open(strConnect,"","",adModeUnknown);   
    }   
    // 捕捉异常   
    catch(_com_error e)   
    {   
        // 显示错误信息   
        AfxMessageBox(e.Description());   
    }   
}   
   
最初红色部分总是会出错,[DBNETLIB][ConnectionOpen(Invalid Instance())] 无效的连接 的解决办法
[DBNETLIB][ConnectionOpen。。。 拒绝访问。。。


可以从以下几点排查错误:
1. 先检查数据库连接参数是否有误,有的时候缺少一些东西,可能就连不上,前面红色部分,我没有添加1433端口号,结果总是出错
加上之后,就ok了,现在红色部分,两个参数设置都能连接成功,可以参考下。

2. 在防火墙中检查1433端口是否打开了

3. 检查sqlserver服务是否起来了,同时在sqlserver configraton manager 中,在网络设置中,将tcpip属性-ip地址中,将tcp all的port 添加上1433端口

Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=192.168.1.28,1433
连接SQL server 2008 报错:  [DBNETLIB][ConnectionOpen (Invalid Instance()).]
[DBNETLIB][ConnectionOpen (Invalid Instance()).]无效的连接。
 
以前写的是:
“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=**;PWD=**;Initial Catalog=DatabaseName;Data Source=IP”
解决方法1:
改成
“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=**;PWD=**;Initial Catalog=DatabaseName;Data Source=IP,1433″
就是把”Data Sourse = IP” 改为”Data Sourse = IP,端口”,就连接正常
解决方法2:
改成
“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=**;PWD=**;Initial Catalog=DatabaseName;Data Source=IP,1433″
就是把”Data Sourse = IP” 改为”Data Sourse = 服务器别名(如localhost\sqlexpress,就是打开SQL  Server   Management   Studio   Express时在左侧上端那个名字)”,就连接正常
阅读(5924) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~