Delphi + MSSQLserver 应用程序
服务器 Win2003 server
ADO 访问数据库服务器开放与位于 Internet 中 使用固定IP 访问win xp 运行程序 完全正常但在 win2k Professional 不行, 执行存储过程提示 :
[DBMSSOCN] 一般性网络错误。请检查网络文档请高手指点一下 
连接语句:
Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=User;Initial Catalog=DB;Data Source=219.133.0.1;

解决方案 »

  1.   

    需要修改一下注册表信息,你试一下,网上应该有相关信息
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo
    建立一个类似这样的字符串
    DBMSSOCN,192.168.122.99,1433
      

  2.   

    现在数据库 Adoconnection 可联上了
    但 执行存储过程 提示 [DBMSSOCN] 一般性网络错误。请检查网络文档 
    还是不能用软件
      

  3.   

    很奇怪 
    在存储过程开头有执行登记的
    2000professional 上每次执行  都没有记录登记的 当然执行也不成功。
    同一个程序 在 xp 上执行 都有记录的。AdoStoredProc 是动态创建的 不是是否跟动态创建有关, 这是用户登录过程  第一次登录 可以执但没有返回值
    第二次执行 提示 [DBMSSOCN] 一般性网络错误。请检查网络文档         AdoProc := TAdoStoredProc.Create(nil);
            AdoProc.Connection := F_Data.ADOCONN;
            AdoProc.CommandTimeout := 100;
            AdoProc.ProcedureName := ProcName;        AdoProc.Parameters.Refresh; //刷新参数列表
      with AdoProc do
      begin
          Parameters.ParamByName('@OpSta').Value := OpSta;
          Parameters.ParamByName('@UserID').Value := p_UserID;
          Parameters.ParamByName('@PassWord').Value := p_PassWord;
          Parameters.ParamByName('@oldPassWord').Value := p_oldPassWord;
          Parameters.ParamByName('@Comp').Value := p_Comp;
          Parameters.ParamByName('@GroupName').Value := p_GroupName;
          Parameters.ParamByName('@Pos').Value := p_Pos;
          Parameters.ParamByName('@MainArea').Value := p_MainArea;
          Parameters.ParamByName('@Area').Value := p_Area;
      end;
      AdoProc.execute;
      

  4.   

    AdoProc 这个控件怎么没有看到释放的部分
    建议你设置断点,跟踪一下,看看在哪步出的错,这样解决起来也空易
      

  5.   

    有释放  是在窗体关闭时候释放的
    我是在 XP 下开发的 
    程序少数在 2000pro 下执行。 如果要调试我还要在别人电脑上装 Delphi 或者再给自己装个 2000 
    如果真的没办法 只有搭建调试环境了
      

  6.   

    看看是否是因为ado的版本引发的错误
      

  7.   

    那台机子的 tcp 服务应该没有打开
      

  8.   

    问题解决 : win2000 的ADO 版本过低  安装 MDAC_TYP2.8 问题自动解决