// 初始化OLE/COM库环境 
::CoInitialize(NULL);
  
try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型 _bstr_t strConnect = "Provider=SQLOLEDB; Server=192.168.0.28;Database=HrSys; uid=sa; pwd=sa;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
防火墙已关。可以telnet 192.168.0.28 1433 成功。
对方是SERVER2003 MS-SQL2000。我这台没有安装SQL。程序在别的有安装SQL的本机中可以访问。
Server=192.168.0.28这样写是不是正确的?出错提示:
1、[DBNMPNTW]ConnectionOpen(CreatFile())。
2、在一个已关闭的或无效连接的对象参照上操作不被允许。

解决方案 »

  1.   

    装个 SQL SERVER 的客户端。
      

  2.   

    2003好像要装最新的补丁就可以了,以前也试过。
    Server=192.168.0.28是可以的...........
      

  3.   


    不装SQL客户端不行吗?2003好像要装最新的补丁就可以了,以前也试过。 
    Server=192.168.0.28是可以的...........他是操作系统是server2003的。已经打了SP1了
      

  4.   

    1. sql server打上最新补丁
    2. 你的sql server是使用的混合登录模式,还是windows的??
      

  5.   

    Server=192.168.0.28是可以的
    你的sql server是使用的混合登录模式,还是windows的??
      

  6.   

    用户名和密码没有错,
    另现在已安装MSSQL客户端,还是不行。
      

  7.   

    你换下面的连接字符串试试..如果还不行,建议把你的sql server打上补丁:
    Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=sa;Initial Catalog=HrSys;Data Source=192.168.0.28;
      

  8.   

    安装了SP3补丁。
    打开程序时一直提示无法连接SQL编译之后再运行。可以进入程序,只有一个模块可以使用。
    其他的提示访问拒绝!
      

  9.   

    搞定了。原来是SQL的客户端没有装
    还有SP3的补丁没有打上。提示访问拒绝,在每个对话框的ADO Data Control 的控件更改下数据源就可以了。非常谢谢!结贴。