Provider=OraOLEDB.Oracle.1;Password=wwww;Persist Security Info=True;User ID=1702;Data Source=testdata如何保存为.ini文件以便在更改数据库名后不用修改程序,谢谢!

解决方案 »

  1.   

    原来我做的一个程序是在程序起动时检查配置文件中的联接字符串键,如果存在且连接成功则运行程序,如果不成功就调用设置窗口进行设置
    原来用的是SQL2000,只检测SERVER,表是一个定了的名称
      

  2.   

    那就建一个  .Udl文件吧。
      

  3.   

    把每一个关键字分开来存吧
        Provider=OraOLEDB.Oracle.1
        Password=wwww
        ersist Security Info=True
        
        从ini文件读出来的时候再拼回去咯
      

  4.   

    [DATA]
    CONN=瘝悏枦殟卢俺夯窖文稇嫐槏瀷殯攥殰妽枊喡寞殟寲寢攥殰妽枊嗊稇檺鹿灀寶莫寶嵾痘聦災稇枊枮撨紴嫗搻樎ツ獙氝瘝悳殯妽氝檺嵾瘝殢瀺毬文緤嫄攉崬憣摓嫐芦崐毮癁湐殝攥枀毬讼粕抹悕攲嫗嫋悜叨宦サ鼓獙氝簯湇啅嫋悜邫悕呋瀷灺篂搶毮珵樳垨嫍邷悡姃戇湊摀瀷枑戇垪殤邚悓寲潛毬篂搶?CONN_ZPT=瘝悏枦殟卢俺夯窖文癁寣垚崨率掀涛褪寞殟寲寢攥殰妽枊嗊稇檺芦崐毮獙殟叨宦尀亩憱嫋灀呒瀷灀悩聢噵厡潧澞粸嫗攥悐崪毬涵莫寶忒崘湚泭崥邫悕忒崥彏崥挛木妺愡珝瀾寭瀷毬珝姎寞灉敋嬤瑬厷滤掀赡◥崝寢瀷枑戇痘陆冻妇獙氝簯湇啅嫋悜邫悕呋瀷灺篂搶毮珵樳垨嫍邷悡姃戇湊摀瀷枑戇垪殤邚悓寲潛毬篂搶?
    看到乱码了没?这就是ini里的连接字符串密文了,呵呵
    你可以在程序里用adocontion.contionstring:=ini.readstring来读
      

  5.   

    db.ini
    [SQLList]
    IP="127.0.0.1"
    dbname="xxx"
    dbpwd="xxx"
    -----------------------
        filename:=ExtractFilePath(paramstr(0))+'db.ini';
        myinifile:=TInifile.Create(filename);
        MySQLServerIP := myinifile.Readstring('SQLList','IP','') ;
        MySQLServerxx1 := myinifile.Readstring('SQLList','dbname','') ;
        MySQLServerxx2 := myinifile.Readstring('SQLList','dbpwd','') ;
        myinifile.Destroy;
    这样MySQLServerIP就是db.ini文件里的
    然后改一下
    Form_main.ADOConnectionSQLServer.Connected := false;
        Form_main.ADOConnectionSQLServer.ConnectionString := 'Provider=SQLOLEDB.1;Password='+MySQLServerxx2'+;Persist Security Info=True;User ID=userxxx;Initial Catalog=Tmydb;Data Source='+MySQLServerIP ;
        Form_main.ADOConnectionSQLServer.Connected := true;
      

  6.   

    procedure TDM.DataModuleCreate(Sender: TObject);
    var
      Ini: TIniFile;
      User:string;
      PassWord:string;
      DataBase:string;
      DataSource:string;
    begin
      ini:=TInifile.Create(ExtractFilePath(application.ExeName)+'DaCzjl.ini'); //获取应用程序
                                                                             路径下的ini文件
      try
        User:=ini.ReadString('DataBase','User','sa');
        PassWord:=ini.ReadString('DataBase','PassWord','');
        DataBase:=ini.ReadString('DataBase','DataBase','');
        DataSource:=ini.ReadString('DataBase','DataSource','');
      finally
        ini.Destroy;
      end;
      ADOC.Connected:=false;
                                    
      ADOC.ConnectionString:='Provider=SQLOLEDB.1;Password='+PassWord+';Persist Security Info=True;User ID='+User+';Initial Catalog='+DataBase+';Data Source='+DataSource+'';  
        try
        ADOC.Connected:=true;
        except
          on e:exception do begin
            showmessage('网络故障!请配置网络连接!');
            exit;
          end;