• TUniConnection连接


    ChangeFileExt

    RealTime_Server.ini

    [Config]
    FromConStr=DBTYPE=0|SERVER=127.0.0.1|PORT=7788|DBNAME=jzxtld|USERNAME=sa|PASSWORD=admin
    ToConStr=DBTYPE=0|SERVER=127.0.0.1|PORT=7788|DBNAME=jzxxsjs|USERNAME=sa|PASSWORD=admin

     
     1 procedure StrToUniCon(AStr: string; UniCon: TUniConnection);
     2   function GetDBType(i: Integer): string;
     3   begin
     4     case i of
     5       0:
     6         begin
     7           Result := 'SQL Server';
     8         end;
     9       1:
    10         begin
    11           Result := 'Oracle';
    12         end else
    13       begin
    14         Result := '';
    15       end;
    16     end;
    17   end;
    18 var
    19   L: TStrings;
    20 begin
    21   if Trim(AStr) = '' then Exit;
    22   if (AStr <> '') and (AStr[Length(AStr)] = '|') then system.Delete(AStr, Length(AStr), 1);
    23   L := TStringList.Create;
    24   try
    25     L.Delimiter := '|';
    26     L.DelimitedText := AStr;
    27     if L.Count = 6 then
    28     begin
    29       UniCon.LoginPrompt := False;
    30       UniCon.ProviderName := GetDBType(StrToInt(L.Values['DBTYPE']));
    31       if SameText(UniCon.ProviderName, 'Oracle') then
    32       begin
    33         UniCon.SpecificOptions.Clear;
    34         UniCon.SpecificOptions.Add('Oracle.Direct=True');
    35         UniCon.SpecificOptions.Add('Oracle.PrecisionInteger=11');
    36         UniCon.server := L.Values['SERVER'] + ':' + L.Values['PORT'] + ':' + L.Values['DBNAME'];
    37       end else
    38       begin
    39         UniCon.server := L.Values['SERVER'] + ',' + L.Values['PORT'];
    40         UniCon.Database := L.Values['DBNAME'];
    41       end;
    42       UniCon.Username := L.Values['USERNAME'];
    43       UniCon.Password := L.Values['PASSWORD'];
    44     end;
    45   finally
    46     L.Free;
    47   end;
    48 end;
     
    1
    procedure TfmDBConectString.bt_testconnClick(Sender: TObject); 2 var 3 Con: TUniConnection; 4 begin 5 if rgDbType.ItemIndex = -1 then 6 begin 7 Application.MessageBox('请选择数据库类型!', '警告', MB_ICONWARNING or MB_APPLMODAL); 8 Exit; 9 end; 10 Con := TUniConnection.Create(nil); 11 try 12 try 13 StrToUniCon(Self.GetConnectXML, Con); 14 Con.Connect; 15 ShowMessage('连接成功!'); 16 Con.Disconnect; 17 except 18 on E: Exception do 19 begin 20 ShowMessage(E.Message); 21 end; 22 end; 23 finally 24 Con.Free; 25 end; 26 end;
     1 procedure TSyncThread.LoadFromCon(Uni: TUniConnection);
     2 var
     3   S:String;
     4 begin
     5   with TIniFile.Create(ChangeFileExt(GetModuleName(0),'.ini')) do
     6   begin
     7     S:=ReadString('Config','FromConStr','');
     8     if S<>'' then
     9     begin
    10       StrToUniCon(S,Uni);
    11     end;
    12     Free;
    13   end;
    14 end;
     1  1 function TfmMain.GetToConStr: string;
     2  2 begin
     3  3   with TIniFile.Create(ChangeFileExt(GetModuleName(0), '.ini')) do
     4  4   begin
     5  5     Result := ReadString('Config', 'ToConStr', '');
     6  6     Free;
     7  7   end;
     8  8 end;
     9  9 
    10 10 procedure TfmMain.SetToConStr(const Value: string);
    11 11 begin
    12 12   with TIniFile.Create(ChangeFileExt(GetModuleName(0), '.ini')) do
    13 13   begin
    14 14     WriteString('Config', 'ToConStr', Value);
    15 15     Free;
    16 16   end;
    17 17 end;



  • 相关阅读:
    tera term通过ttl脚本 自动连接服务器
    shell脚本生成xml文件
    MarkDown语法练习笔记
    linux nkf 日文编码转换命令[转载]
    Shell脚本传递带有空格的参数[摘录自网络]
    JavaScript思维导图—函数基础
    JavaScript思维导图—运算符
    JavaScript思维导图—数组
    JavaScript思维导图—流程控制
    JavaScript思维导图—正则表达式
  • 原文地址:https://www.cnblogs.com/zhier/p/5204338.html
Copyright © 2020-2023  润新知