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
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连接的更多相关文章
- Delphi FireMonkey使用UniDAC 连接MySQL
首次用Delphi XE6 开发安卓程序,并没有在网上找到连接远程MySQL服务器的文档,自己摸索一番,发现UniDAC控件新版本也已支持了FireMonkey下的开发.遂记下连接方法和大家分享. 1 ...
- Delphi中多线程下使用使用 UniDAC+MSSQL 需要注意的问题(连接前调用CoInitialize)
一般解决方法是在线程开始启用 CoInitialize(nil),线程结束调用 CoUninitialize .如果你使用多种数据库连接,比如三层中经常切换到MSSQL和Oracle,我们只需在判断 ...
- 获取 TUniConnection.SpecificOptions默认值和下拉框列表值
TUniConnection的SpecificOptions参数决定了数据库连接配置参数,但可惜的是,SpecificOptions设计器界面,Devart公司只能让它在设计期配置! Specific ...
- unidac连接ORACLE免装客户端驱动
当你选择Oracle作数据库服务器时,客户端一般需要装一个肥硕的200M左右客户端,而且还要做连接配置,尤其是C/S模式,客户端多的时候非常不便.当然,网上也有一个10M左右的Oracle精简客户 ...
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...
- Linux 开机时网络自动连接
简单版本: cd /etc/sysconfig/network-scripts/ vi ifcfg-enoXXX 输入:reboot重启 或者输入:service network restart ...
- 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()
1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...
- 【初学python】使用python连接mysql数据查询结果并显示
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
随机推荐
- Python爬虫库Scrapy入门1--爬取当当网商品数据
1.关于scrapy库的介绍,可以查看其官方文档:http://scrapy-chs.readthedocs.io/zh_CN/latest/ 2.安装:pip install scrapy 注意这 ...
- vnc--centos 7 安装和配置
安装步骤: 1.首先试试服务器装了 VNC 没 rpm -q tigervnc tigervnc-server 没安装的话会直接出现package tigervnc is not installedp ...
- Hadoop学习笔记
今天开始要学习Hadoop!开始向"大数据"领域靠拢! 从头开始对于连何为Hadoop都不清楚的人,有好多东西要学,加油! 1.下载hadoop,官网地址:http://mirro ...
- Selenium2入门(三)WebDriver API之Get
在上面的例子中,我们看到了WebDriver的一些方法,今天列举WebDriver的Get方法: import java.util.Set; import org.openqa.selenium.We ...
- 常用Web Service汇总(天气预报、时刻表等)
现成的Web Service中有很多很好用的,比如天气预报,IP地址搜索,火车时刻表等等.本文汇总的一些常用Web Service,希望对大家有所帮助. AD: ================= ...
- Building good docker images
The docker registry is bursting at the seams. At the time of this writing, a search for "node&q ...
- CSS的一些简单概念
行内元素与块级元素 在标准文档流里面,块级元素具有以下特点: ①总是在新行上开始,占据一整行:②高度,行高以及外边距和内边距都可控制:③宽带始终是与浏览器宽度一样,与内容无关:④它可以容纳内联元素和其 ...
- 百度地图API地理位置和坐标转换
1.由地名(省份.城市.街道等)得到其对应的百度地图坐标: http://api.map.baidu.com/geocoder/v2/?output=json&ak=你从百度申请到的Key&a ...
- JSP EL表达式(转)
一.EL简介 1.语法结构 ${expression}2.[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字 ...
- Click模块化路由器
[概述] Click是一种基于软件控制的模块化路由器.其架构可以大致视为一系列数据包处理模块(称为elements)组成的.一个Click路由器可以看成一张由elements作为顶点,数据包传递路径作 ...