UniDAC使用教程(一):链接到数据库

下载UniDAC最新版本mysql

Universal Data Access Components (UniDAC)是一款通用数据库访问组件,提供了多个数据库的直接访问,如针对Windows的Delphi, C++Builder, Lazarus (以及 Free Pascal) , Mac OS X, iOS, Android, Linux和64和32位的FreeBSD等等。咱们将长期的经验集于这个小组件,提供统一的数据库链接访问(如oracle、微软SQL等等)。这意味着您能够在您的项目之间轻松地切换不一样的数据库,以及建立跨数据库应用程序接口。sql

本篇文章介绍了链接到具备不一样提供程序的数据库的过程,以及链接参数的含义。数据库

  • 公共链接属性
    • Provider
    • 用户名和密码
    • 服务器
    • 数据库
    • 端口
  • 提供程序特定属性
    • Oracle
    • SQL Server
    • MySQL
    • InterBase
    • PostgregSQL
    • SQLite

公共链接属性

每一个数据库服务器都须要本身的一组参数用于链接(用户名、密码等)。一些参数对于多个服务器是相同的,但参数含义可能因服务器而异。工发组织为受支持的数据库服务器提供全部类型的参数。若是某个参数不用于某个提供程序,它将在“链接”对话框中被禁用,而不用于链接。工发组织支持如下参数:服务器

Provider

这是应该设置的第一个参数。它指定将用于链接的提供程序和其余可用参数。网络

用户名和密码

这些属性用于每一个数据库提供程序对客户端应用程序进行身份验证。
服务器oracle

一般,此属性用于提供数据库服务器所在网络中计算机的名称或IP地址。若是SQL Server、MySQL和Interbase提供程序的server属性为空,则unidac将尝试链接到localhost。ide

  • Oracle——在客户机模式下,您应该指定出如今tnsnames.ora配置文件中的服务器名称。您还能够设置homename选项来指定要在客户机模式下使用的已安装客户机。
    若是在直接模式下链接到Oracle服务器,则应以特殊格式指定server属性的值:host:port:sid。主机是服务器的IP地址或DNS名称,端口是服务器侦听的端口号,sid是服务器的Oracle系统标识符。
  • SQL Server——应指定运行SQL Server的网络中计算机的名称或IP地址。若是您的SQL Server使用的端口与默认端口不一样,则能够经过如下方式链接到该端口,指定端口号:hostname、port number。
  • ASE、MySQL和PostgreSQL——您应该指定运行数据库服务器的网络中计算机的名称或IP地址。
  • ODBC——您应该指定ODBC数据源名称(DSN)、包含数据源信息的文件名(文件DSN)或ODBC链接字符串
  • DB2——应该为服务器属性指定数据库名称

数据库

此属性用于Access、Advantage、SAP Sybase ASE、DBF、Interbase、MySQL、NextUSB、PostgreSQL、SQL Server和SQLite提供程序。它为链接指定初始数据库。在SAP Sybase ASE、MySQL和SQL Server上,当链接处于活动状态而不从新链接时,能够更改数据库值。若是未分配数据库,UniDAC的行为将取决于选定的provider:ui

  • MySQL——将不选择当前数据库。这意味着您须要在查询中显式指定数据库名称。
  • SQL Server和ASE——当前SQL Server登陆的默认数据库将用做链接的默认数据库。为了链接到SQL Server Compact Edition,此属性用于提供数据库文件名。

端口

此属性用于SAP Sybase ASE、MySQL和PostgreSQL提供程序。它指定TCP/IP链接的端口号。spa

  • MySQL——默认值为3306。
  • PostgreSQL——默认值为5432。
  • ASE——默认值为5000。

提供程序特定属性

除了上面描述的链接选项以外,还有几个特定的选项来管理每一个提供者的链接行为。这些选项在每一个提供程序的特定于提供程序的Notes文章中进行了描述:Oracle、SQL Server、MySQL、Interbase、PostgreSQL和SQLite。打开与您感兴趣的提供者对应的文章,并在文章中找到tuniconnection的特定选项描述。下面将介绍几个重要的特定链接选项。server

Oracle

使用Oracle提供程序,您能够以两种模式链接到服务器:客户机模式和直接模式。以客户机模式链接须要在客户机上安装Oracle客户机。直接模式下的链接不须要Oracle客户机,可是这种模式有必定的局限性。有关更多信息,请参阅文章中的Connecting in Direct Mode部分(将工发组织与Oracle结合使用)。

SQL Server

SQL Server提供程序能够经过三种客户端类型之一进行链接,这些客户端类型能够使用特定于OLEDBProvider的tuniconnection选项进行更改。默认状况下,此选项设置为prauto。此值表示提供程序将首先尝试打开SQL本机提供程序。若是此提供程序不可用,则将打开OLE DB提供程序。要链接到SQL Server Compact版本,必须将OledBProvider选项设置为prcompact。此值使名称以compact开头的全部特定选项生效。应在CompactVersion特定选项中指定要使用的SQL Server Compact版本。默认状况下,将根据数据库文件版本选择SQL Server Compact版本。若是该文件不存在,或者该文件不是有效的数据库文件,则将使用CompactVersion选项来肯定要加载的服务器版本。

MySQL

mysql提供程序能够直接链接到mysql服务器,也能够使用客户端库libmysqld.dll。此行为由直接特定选项控制。默认状况下,Direct设置为true。若是直接切换到false,则须要在应用程序中部署libmysqld.dll。

为了链接到带有mysql embedded server的数据库,应该将embedded-specific选项的值切换为true。其默认值为假。若是Embedded设置为true,则忽略direct的值。带有共享目录的嵌入式服务器库应该与应用程序一块儿部署。数据路径应该在嵌入式服务器的配置文件中指定。

InterBase

Intelbase提供程序能够经过TCP/IP、NetBEUI和SPX等网络协议链接到服务器。将用于链接的网络协议能够经过特定于协议的选项指定。

PostgreSQL

PostgreSQL提供程序直接链接到PostgreSQL服务器,不使用PostgreSQL客户端库。

SQLite

SQLite提供程序能够使用sqlite客户端库sqlite3链接到数据库。您能够使用外部SQLite3库或嵌入式sqlite3引擎。此行为由选项控制。默认状况下,direct设置为false,在这种状况下,sqlite提供程序在path环境变量中指定的目录中搜索客户端库。若是数据库文件不存在,则SQLite能够自动建立该文件。为此,应使用ForceCreateDatabase特定选项。

相关文章
相关标签/搜索