我编了个程序,因为测试的时候要在本机,但交给别人使用的话就要用另外一个服务器,请问怎么样才能实现方便的在两个数据库服务器之间来回切换啊?我现在切换的时候需要手动的在程序里面改变数据库链接路径,非常麻烦,盼望大侠们指教,新手分不多,不要见怪。

解决方案 »

  1.   

    可以把连接的字符串写在一个ini文件中,如果更换了IP地址什么的就修改这里就行了.
      

  2.   

    ls正解
    加个ini的配置文件
    要变数据库时,只需要改配置文件即可
      

  3.   

    ini文件里面写起来麻烦吗,如果不麻烦能不能贴个代码出来啊,比如说在服务器A和B之间切换
      

  4.   

    那程序运行的时候是不是要先读取一下ini文件?
      

  5.   

    1.先加立一个ini的文件内容如下
    sysconfig.ini:文件放在你的可执行文件同目录下.
    [system]
    serverIP=192.168.36.32
    2.程序中读取
    引用inifiles文件 (uses IniFiles;) 把iniFiles加到uses中.
    读取的代码,直接调用函数就可以了
    function GetServerIP: String;
    var
      vServerIP: String;
      FServerIPIni:TIniFile;
    begin
      try
        try
          FServerIPIni:=TIniFile.Create(ExtractFilePath(Application.exename)+'sysconfig.ini');
          vServerIP := FServerIPIni.ReadString('system','serverIP','127.0.0.1');
        except
          vServerIP := '127.0.0.1';
        end;
      finally
        FServerIPIni.Free;
      end;
      Result := vServerIP;
    end;
      

  6.   

    用法大致这样,具体你根据实际的进行字符串的拼,可以在ini中写很多内容.
      

  7.   

    其实方法很多,ini可以,你也可以建立一个.udl文件 相当于ADOCONNECTION 等等
      

  8.   

    偶的delphi方法參考如下:
    const
      STR1='Provider=SQLOLEDB.1;Password=';
      STRA=';Persist Security Info=True;User ID=';
      CSTRB=';Initial Catalog=';
      STR2=';Data Source=';function setConnStr(dbName, Svrname,pwd,usr: string);
    begin
     with adoconnnetion1 do
     begin
       adoconnnetion1.Close;
       adoconnnetion1.ConnectionString:=CSTR1+pwd+STRA+usr+STRB+dbName+TR2+SvrName+STR3;
       adoconnnetion1.Connected:=true;
      end;
      

  9.   

    将各个要连接的服务器数据库信息存在INI文件或MDB文件中,程序运行时读出供用户选择即可。
      

  10.   

    以前写数据库的程序也有过这样的办法那时没有想到用INI
    学习了谢谢1楼的兄弟
      

  11.   

    用.INI文件配置你的数据库连接比较方便
      

  12.   

    直接寫入INI文件讀取
    注意:記得把INI文件中的密碼加密,使用時再解密...
    類似這樣:[Setup]
    ServerName=172.60.100.88
    Password=rq13r1131fas13h1te3jh13h1w3gh13efq
    DatabaseName=ehr
    UserName=ehr
    [pzsz]
    JY=5
    N=10
    JL=5
    [mail]
    Port=25
    Host=192.168.203.9
    UName=test
    pwd=123456
    [email protected]