程序运行环境win98,开发工具delphi7,数据库sqlserver2000,安装环境win2000 .
现在出现了一种问题,连接数据库代码如下
CBSDMForm.CBSDB.Connected:= false;
tempss := 'Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=cbsv2;Data Source=192.168.4.192';
CBSDMForm.CBSDB.ConnectionString := tempss;
CBSDMForm.CBSDB.Connected:= true;这样经常连接不到数据库,但是如果把192.168.4.192换成机器名hostname就没有问题了,至少基本能连上,很少出现连不上的问题,大家看看是怎么回事情?

解决方案 »

  1.   

    try
    CBSDMForm.CBSDB.Connected:= false;
    tempss := 'Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=cbsv2;Data Source=192.168.4.192';
    CBSDMForm.CBSDB.ConnectionString := tempss;
    CBSDMForm.CBSDB.Connected:= true;
    except
      on e:exception do
      begin
        CBSDMForm.CBSDB.Connected:= false;
    tempss := 'Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=cbsv2;Data Source=hostname;
    CBSDMForm.CBSDB.ConnectionString := tempss;
    CBSDMForm.CBSDB.Connected:= true;
      end;
    end;
      

  2.   

    这种方法也只是治标不治本,原因是为什么ip不行,按说ip是速度最快的了!
      

  3.   


    Persist Security Info=false;试一试
    还有CBSDMForm.CBSDB.LoginPromt := false;
      

  4.   

    还有看一看你SQL客户端配置(TCP/IP OR NAMEPIPES CHANGE YI XIA)
      

  5.   

    你有沒有在server上添加使用者?---客戶機的用戶名 ?
      

  6.   

    没有动态,局域网内的。
    没有添加客户机的用户名,我用的是最高权限sa。
    我用的是tcp/ip的套接字
     36(高桥) 的提示方法我都曾经测试过,也是不行的。
      

  7.   

    我的在WIN2000环境下,用IP地址可以使用,但在XP环境下,用IP连接不上!不知道什么原因?
      

  8.   

    檢查你的網絡配置, 是否裝了tcp/ip協議