UniDAC使用教程(一) 連線到資料庫

2021-09-10 07:17:55 字數 2630 閱讀 6216

universal data access components (unidac)是一款通用資料庫訪問元件,提供了多個資料庫的直接訪問,如針對windows的delphi, c++builder, lazarus (以及 free pascal) , mac os x, ios, android, linux和64和32位的freebsd等等。我們將長期的經驗集於這個小組件,提供統一的資料庫連線訪問(如oracle、微軟sql等等)。這意味著您可以在您的專案之間輕鬆地切換不同的資料庫,以及建立跨資料庫應用程式介面。

本篇文章介紹了連線到具有不同提供程式的資料庫的過程,以及連線引數的含義。

提供程式特定屬性

每個資料庫伺服器都需要自己的一組引數用於連線(使用者名稱、密碼等)。一些引數對於多個伺服器是相同的,但引數含義可能因伺服器而異。工發組織為受支援的資料庫伺服器提供所有型別的引數。如果某個引數不用於某個提供程式,它將在「連線」對話方塊中被禁用,而不用於連線。工發組織支援以下引數:

provider

這是應該設定的第乙個引數。它指定將用於連線的提供程式和其他可用引數。

使用者名稱和密碼

這些屬性用於每個資料庫提供程式對客戶端應用程式進行身份驗證。

伺服器通常,此屬性用於提供資料庫伺服器所在網路中計算機的名稱或ip位址。如果sql server、mysql和interbase提供程式的server屬性為空,則unidac將嘗試連線到localhost。

資料庫

此屬性用於access、advantage、sap sybase ase、dbf、interbase、mysql、nextusb、postgresql、sql server和sqlite提供程式。它為連線指定初始資料庫。在sap sybase ase、mysql和sql server上,當連線處於活動狀態而不重新連線時,可以更改資料庫值。如果未分配資料庫,unidac的行為將取決於選定的provider:

此屬性用於sap sybase ase、mysql和postgresql提供程式。它指定tcp/ip連線的埠號。

除了上面描述的連線選項之外,還有幾個特定的選項來管理每個提供者的連線行為。這些選項在每個提供程式的特定於提供程式的notes文章中進行了描述:oracle、sql server、mysql、interbase、postgresql和sqlite。開啟與您感興趣的提供者對應的文章,並在文章中找到tuniconnection的特定選項描述。下面將介紹幾個重要的特定連線選項。

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

thingsboard(一) 連線測試裝置

centos docker安裝 使用pg資料庫,按照最低配置安裝 docker compose.yml version 2.2 services mytb restart always image thingsboard tb postgres ports 8080 9090 1883 1883 5...

一 連線遠端資料庫

一 連線遠端資料庫 1 顯示密碼 如 mysql 連線遠端資料庫 192.168.5.116 埠 3306 使用者名為 root 密碼 123456 c mysql h 192.168.5.116 p 3306 u root p123456 2 隱藏密碼 如 mysql 連線本地資料庫,使用者名為 ...

使用ESP8266連線到Azure

很多同學在問我,esp8266如何連線到azure,因為官方只有spark fun之類的devkit 開發套件 出了教程 我只找到了套件的文件 其實sparkfun esp8266與普通的esp8266是一樣的,文件上也標註了arduino compatible 相容arduino 今天就按官方教程...