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

 
 procedure StrToUniCon(AStr: string; UniCon: TUniConnection);
function GetDBType(i: Integer): string;
begin
case i of
:
begin
Result := 'SQL Server';
end;
:
begin
Result := 'Oracle';
end else
begin
Result := '';
end;
end;
end;
var
L: TStrings;
begin
if Trim(AStr) = '' then Exit;
if (AStr <> '') and (AStr[Length(AStr)] = '|') then system.Delete(AStr, Length(AStr), );
L := TStringList.Create;
try
L.Delimiter := '|';
L.DelimitedText := AStr;
if L.Count = then
begin
UniCon.LoginPrompt := False;
UniCon.ProviderName := GetDBType(StrToInt(L.Values['DBTYPE']));
if SameText(UniCon.ProviderName, 'Oracle') then
begin
UniCon.SpecificOptions.Clear;
UniCon.SpecificOptions.Add('Oracle.Direct=True');
UniCon.SpecificOptions.Add('Oracle.PrecisionInteger=11');
UniCon.server := L.Values['SERVER'] + ':' + L.Values['PORT'] + ':' + L.Values['DBNAME'];
end else
begin
UniCon.server := L.Values['SERVER'] + ',' + L.Values['PORT'];
UniCon.Database := L.Values['DBNAME'];
end;
UniCon.Username := L.Values['USERNAME'];
UniCon.Password := L.Values['PASSWORD'];
end;
finally
L.Free;
end;
end;
 1 procedure TfmDBConectString.bt_testconnClick(Sender: TObject);
var
Con: TUniConnection;
begin
if rgDbType.ItemIndex = - then
begin
Application.MessageBox('请选择数据库类型!', '警告', MB_ICONWARNING or MB_APPLMODAL);
Exit;
end;
Con := TUniConnection.Create(nil);
try
try
StrToUniCon(Self.GetConnectXML, Con);
Con.Connect;
ShowMessage('连接成功!');
Con.Disconnect;
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
end;
finally
Con.Free;
end;
end;
 procedure TSyncThread.LoadFromCon(Uni: TUniConnection);
var
S:String;
begin
with TIniFile.Create(ChangeFileExt(GetModuleName(),'.ini')) do
begin
S:=ReadString('Config','FromConStr','');
if S<>'' then
begin
StrToUniCon(S,Uni);
end;
Free;
end;
end;
   function TfmMain.GetToConStr: string;
begin
with TIniFile.Create(ChangeFileExt(GetModuleName(), '.ini')) do
begin
Result := ReadString('Config', 'ToConStr', '');
Free;
end;
end; procedure TfmMain.SetToConStr(const Value: string);
begin
with TIniFile.Create(ChangeFileExt(GetModuleName(), '.ini')) do
begin
WriteString('Config', 'ToConStr', Value);
Free;
end;
end;

TUniConnection连接的更多相关文章

  1. Delphi FireMonkey使用UniDAC 连接MySQL

    首次用Delphi XE6 开发安卓程序,并没有在网上找到连接远程MySQL服务器的文档,自己摸索一番,发现UniDAC控件新版本也已支持了FireMonkey下的开发.遂记下连接方法和大家分享. 1 ...

  2. Delphi中多线程下使用使用 UniDAC+MSSQL 需要注意的问题(连接前调用CoInitialize)

    一般解决方法是在线程开始启用 CoInitialize(nil),线程结束调用 CoUninitialize .如果你使用多种数据库连接,比如三层中经常切换到MSSQL和Oracle,我们只需在判断 ...

  3. 获取 TUniConnection.SpecificOptions默认值和下拉框列表值

    TUniConnection的SpecificOptions参数决定了数据库连接配置参数,但可惜的是,SpecificOptions设计器界面,Devart公司只能让它在设计期配置! Specific ...

  4. unidac连接ORACLE免装客户端驱动

      当你选择Oracle作数据库服务器时,客户端一般需要装一个肥硕的200M左右客户端,而且还要做连接配置,尤其是C/S模式,客户端多的时候非常不便.当然,网上也有一个10M左右的Oracle精简客户 ...

  5. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  6. SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...

  7. Linux 开机时网络自动连接

      简单版本: cd /etc/sysconfig/network-scripts/ vi ifcfg-enoXXX 输入:reboot重启 或者输入:service network restart ...

  8. 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()

    1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...

  9. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

随机推荐

  1. python raw String 获取字符串变量中的反斜杠

    常用的获取raw string的方式为: >>>r'\n' \n 不能用在字符串变量中,获取字符串变量中的反斜杠如下: tab = '\n' >>>tab.enco ...

  2. 服务 在初始化安装时发生异常:System.IO.FileNotFoundException: "file:///D:\testService"未能加载文件或程序集。系统找不到指定文件。

    @echo.@if exist "%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" goto INSTALL ...

  3. Python字符串处理

    字符串输入: my_string = raw_input("please input a word:") 字符串判断: (1) 判断是不是纯字母 my_string.isalpha ...

  4. java基础-servlet-2:生命周期

    1.加载(class load) 2.实例化 3.init() 4.doGet() 5.destroy 只有一个对象存在于服务端提供服务.再次访问,不会再起新对象.

  5. win10 下 gulp-sass 无法使用的解决

    参考链接: http://stackoverflow.com/questions/28409100/try-reinstalling-node-sass-on-node-0-12 解决方法: npm ...

  6. 解决HttpWebRequest首次连接特别慢的问题

    针对这个问题,网上各种搜,然后看到的解决方案大致相同,改web.config,问题来了,按网上说的,没感觉快了多少 <?xml version="1.0"?> < ...

  7. 解压版Tomcat配置

    解压版Tomcat配置(本例Tomcat6):   一 配置Tomcat 1 下载Tomcat Zip压缩包,解压.      如果增加tomcat的用户名和密码,则修改/conf/tomcat-us ...

  8. javascript网址收集

    1.模块的写法http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 2.模块规范 AMDhttp://www.ruanyifeng ...

  9. Stanford NLP学习笔记1:课程介绍

    Stanford NLP课程简介 1. NLP应用例子 问答系统: IBM Watson 信息提取(information extraction) 情感分析 机器翻译 2. NLP应用当前进展 很成熟 ...

  10. SQL调优常用方法

    在使用DBMS时经常对系统的性能有非常高的要求:不能占用过多的系统内存和 CPU资源.要尽可能快的完成的数据库操作.要有尽可能高的系统吞吐量.如果系统开发出来不能满足要求的所有性能指标,则必须对系统进 ...