Delphi 2010安装及使用UniDAC 4.0

本文介绍如何安装及配置UniDAC 4.0源码版本,并通过示例演示如何利用该组件连接MySQL数据库。UniDAC是一款适用于多种开发环境的非可视化跨数据库访问组件,支持多种数据库服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


        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.进入" ...\unidac40src\Source\Delphi14"文件夹,找到 "Make.bat"文件,打开并修改IDE目录路径,如下:
set IdeDir="%PROGRAMFILES%\Embarcadero\RAD Studio\7.0 
call ..\Make.bat Delphi 14 WIN32 
        因为我这里Delphi 2010不是安装在默认位置,故修改如下:
set IdeDir="D:\Program Files\Embarcadero\RAD Studio\7.0 
call ..\Make.bat Delphi 14 WIN32 
        2.执行" Make.bat"文件,自动执行一系列操作后,到" ...\unidac40src\Bin\Delphi14"目录下,可发现库已经生成完毕;
        3.运行Delphi 2010,菜单→"Tools"→"Options"→"Environment Options"→" Environment Variables",添加"...\unidac40src\Bin\Delphi14"完整路径到" PATH"环境变量;
        4.菜单→" Component"->" Install Packages...","Add"添加"...\unidac40src\Bin\Delphi14"目录下的" dclunidac140.bpl";
        5.菜单→"Tools"→"Options"→" Environment Options"→" Delphi Options"→" Library - Win32",在" Library Path"添加" ...\unidac40src\Lib\Delphi14"路径;
        6.此时,已可以使用UniDAC连接数据库了。若是需要链接查看源代码,将"...\unidac40src\Source"路径也添加到" 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,运行程序,可以看到符号都可以正常显示,如下图所示:

        代码实现的方式如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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


7.4.11 26-Nov-18 RAD Studio 10.3 Rio is supported Support of UPPER and LOWER functions for Unified SQL is added Bug with using the FieldOrigins property is fixed Bug with using the TrimFixedChar property is fixed Bug with saving a dataset that contains BLOB fields to XML is fixed Bug with the Refresh method of TVirualQuery is fixed Bug with handling BCD fields in TVirtualQuery is fixed Bug with updating fields which have data type mapping in TVirtualQuery is fixed Oracle data provider Oracle 18c is supported Implicit result sets in Oracle 12 are supported Bug with detecting time zone when connecting in the Direct mode is fixed Bug with using an extended string in DML statements in Oracle 12 is fixed Bug with using the IFILE option in TNSNAMES.ORA is fixed SQLServer data provider QuoteNames option in TUniLoader to escape field names is added Bug with mapping a TEXT field to ftWideMemo in Delphi is fixed Bug with SQL statements containing a CONTAINS predicate in the WHERE clause is fixed Bug with application freezing when executing a stored procedure is fixed Bug with editing the ConnectString property in TUniConnection in design-time editor is fixed Bug with XML field types when clearing data is fixed Bug with setting "MSOLEDBSQL.1" value for the TUniConnection.ConnectString property is fixed MySQL data provider Support for PAM and Windows authentications is added Bug in TUniDump with backuping stored procedures in MySQL 8 is fixed Bug with describing binary fields is fixed InterBase data provider Possibility to write large blobs by pieces is added PostgreSQL data provider PostgreSQL 11 is supported SQLite data provider Support for the BreakExec method in the Query component is added Bug in TUniDump with dumping national characters when UseUnicode is True is fixed ASE data provider Bug with AssignConnect is fixed MongoDB data provider Bug with re-setting a query for the Query component is fixed DBF data provider Detection of the file format when the DBFFormat option is set to dfAuto is improved Work with databases which contain a large number of files is improved Bug with incorrect query result when using local indexes is fixed Bug with mapping DATE fields is fixed BigCommerce data provider OAuth authentication is supported
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值