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特定選項。

相關文章
相關標籤/搜索