delphi uniDac

Posted jijm123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi uniDac相关的知识,希望对你有一定的参考价值。

Delphi 2010安装及使用UniDAC 4.0

UniDAC是一个功能强大的非可视化跨数据库的数据访问组件,可用于Delphi,Delphi for .NET,C++Builder,and Lazarus (Free Pascal)。它提供了对流行数据库服务器的统一访问,像Oracle,Microsoft SQL Server,mysql,InterBase,Firebird,PostgreSQL,SQLite,DB2,Microsoft Access,Sybase Advantage Database Server,Sybase Adaptive Server Enterprise,和其他数据库(使用ODBC驱动)。

从网上下载到UniDAC 4.0的源码版本,安装过程如下:
1.进入"...unidac40srcSourceDelphi14"文件夹,找到"Make.bat"文件,打开并修改IDE目录路径,如下:
set IdeDir="%PROGRAMFILES%EmbarcaderoRAD Studio7.0
call ..Make.bat Delphi 14 WIN32 
因为我这里Delphi 2010不是安装在默认位置,故修改如下:
set IdeDir="D:Program FilesEmbarcaderoRAD Studio7.0
call ..Make.bat Delphi 14 WIN32 
2.执行"Make.bat"文件,自动执行一系列操作后,到"...unidac40srcBinDelphi14"目录下,可发现库已经生成完毕;
3.运行Delphi 2010,菜单→"Tools"→"Options"→"Environment Options"→"Environment Variables",添加"...unidac40srcBinDelphi14"完整路径到"PATH"环境变量;
4.菜单→"Component"->"Install Packages...","Add"添加"...unidac40srcBinDelphi14"目录下的"dclunidac140.bpl";
5.菜单→"Tools"→"Options"→"Environment Options"→"Delphi Options"→"Library - Win32",在"Library Path"添加"...unidac40srcLibDelphi14"路径;
6.此时,已可以使用UniDAC连接数据库了。若是需要链接查看源代码,将"...unidac40srcSource"路径也添加到"Library Path"。

测试连接MySql数据库:
1.新建一个应用程序,在面板上拖动TUniConnection、TMySQLUniProvider、TUniQuery、TUniDataSource、TDBGrid到窗体上,如下图所示:

2.右键TUniConnection,选择"Connection Editor...",填入数据库连接参数,如下图所示:

3.因为MySql一般设置字符集为UTF-8,而Delphi 2010工程字符集是Unicode,在"Options"页面,设置"UseUnicode"为True,这可以通知服务器,客户端和服务器双方之间的所有数据都将通过UTF-8编码,设置这个选项会转换所有的TStringField字段类型到TWideStringField字段类型,使得几乎所有的语言符号都可以正确工作,但另一方面,也引起工作延迟。

4.关联其他项,在TUniQuery的SQL里面写"select * from city",设置Active为True,运行程序,可以看到符号都可以正常显示,如下图所示:

代码实现的方式如下:

procedure TForm1.FormCreate(Sender: TObject);
begin
UniQuery1.Connection := UniConnection1;
UniDataSource1.DataSet := UniQuery1;
DBGrid1.DataSource := UniDataSource1;
with UniConnection1 do
begin
ProviderName := MySQL;
Username := root;
Password := 123;
Server := 192.168.82.201;
Database := world;
Port := 3306;
SpecificOptions.Values[UseUnicode] := True;
try
Connect;
UniQuery1.Close;
UniQuery1.SQL.Text := select * from city;
UniQuery1.Open;
except

end;
end;
end;

 

以上是关于delphi uniDac的主要内容,如果未能解决你的问题,请参考以下文章

Delphi unidac连接oracle问题,一个很奇怪的问题?

UNIDAC的安装

在datasnap 中使用unidac 访问数据(服务器端)

delphi ORACLE三层架构的服务端开发

Delphi 中控件路径加入不进去解决方法

使用unidac 在linux 上无驱动直接访问MS SQLSERVER