PHP8 PDO_ODBC

2024-03-26 09:50 更新

簡介 

PDO_ODBC 是實(shí)現(xiàn) PHP 數(shù)據(jù)的驅(qū)動(dòng)程序 對(duì)象 (PDO) 接口,用于通過 ODBC 驅(qū)動(dòng)程序或通過 IBM DB2 調(diào)用級(jí)接口 (DB2 CLI) 庫。PDO_ODBC目前支持 數(shù)據(jù)庫驅(qū)動(dòng)程序的三種不同“風(fēng)格”:

IBM-DB2

支持訪問 IBM DB2 Universal Database、Cloudscape 和 Apache Derby 服務(wù)器通過免費(fèi)的 DB2 express-C 客戶機(jī)。

unixODBC

支持通過 unixODBC 驅(qū)動(dòng)程序訪問數(shù)據(jù)庫服務(wù)器 管理器和數(shù)據(jù)庫自己的 ODBC 驅(qū)動(dòng)程序。

通用

為不是 ODBC 驅(qū)動(dòng)程序管理器提供編譯選項(xiàng) PDO_ODBC明確支持。

在 Windows 上,必須啟用為 擴(kuò)展。它是鏈接的 針對(duì) Windows ODBC 驅(qū)動(dòng)程序管理器,以便 PHP 可以連接到任何 編目為系統(tǒng) DSN 的數(shù)據(jù)庫。php_pdo_odbc.dllphp.ini

安裝 

UNIX 系統(tǒng)上的PDO_ODBC
  1. PDO_ODBC包含在 PHP 源代碼中。您可以編譯 使用以下配置命令將擴(kuò)展PDO_ODBC為靜態(tài)或共享模塊。ibm_db2./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/ 要構(gòu)建具有 ibm-db2 風(fēng)格的PDO_ODBC,您必須具備 先前將 DB2 應(yīng)用程序開發(fā)頭安裝在 您正在編譯PDO_ODBC的同一臺(tái)機(jī)器。DB2 應(yīng)用程序 開發(fā)頭是 DB2 服務(wù)器中的可安裝選項(xiàng),并且 也可作為 DB2 Application Development Client 的一部分使用 可從 IBM developerWorks ? 網(wǎng)站免費(fèi)下載。如果未為 DB2 庫和頭文件提供位置,那么 configure 命令 PDO_ODBC 默認(rèn)為 。/home/db2inst1/sqllibunixODBC./configure --with-pdo-odbc=unixODBC,/usr/local 如果未提供 unixODBC 庫的位置,并且 configure 命令的標(biāo)頭,PDO_ODBC 默認(rèn)值為 。/usr/local通用./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

預(yù)定義常量 

下列常量由此驅(qū)動(dòng)定義,且僅在擴(kuò)展編譯入 PHP 或在運(yùn)行時(shí)動(dòng)態(tài)載入時(shí)可用。 另外,使用此驅(qū)動(dòng)時(shí),僅會(huì)使用這些驅(qū)動(dòng)特定的常量。 使用其他驅(qū)動(dòng)的驅(qū)動(dòng)特定的常量可能會(huì)導(dǎo)致不可預(yù)見的情況。 如果代碼可運(yùn)行于多個(gè)驅(qū)動(dòng),PDO::getAttribute() 可被用于獲取 PDO_ATTR_DRIVER_NAME 屬性以檢查驅(qū)動(dòng)。

PDO_ODBC_TYPE (字符串)
PTO::Odpic_at_Use_Cursor_Library (整數(shù)))

此選項(xiàng)控制是否使用 ODBC 游標(biāo)庫。ODBC 游標(biāo)庫 支持一些高級(jí) ODBC 功能(例如塊可滾動(dòng)游標(biāo)),這些功能可能不會(huì) 由驅(qū)動(dòng)程序?qū)崿F(xiàn)。支持以下值:

  • PDO::ODBC_SQL_USE_IF_NEEDED(默認(rèn)值): 需要時(shí)使用 ODBC 游標(biāo)庫。

  • PDO::ODBC_SQL_USE_DRIVER: 切勿使用 ODBC 游標(biāo)庫。

  • PDO::ODBC_SQL_USE_ODBC: 始終使用 ODBC 游標(biāo)庫。

PTO::Odipika_Atr_Asyum_UTF8 (池 )

僅限 Windows。如果為 true,則 UTF-16 編碼的字符數(shù)據(jù) (, 和 ) 將轉(zhuǎn)換為 從數(shù)據(jù)庫讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入數(shù)據(jù)庫時(shí)為 UTF-8。 如果為 false(默認(rèn)值),則驅(qū)動(dòng)程序可以進(jìn)行字符編碼轉(zhuǎn)換。CHARVARCHARLONGVARCHAR

運(yùn)行時(shí)配置 

這些函數(shù)的行為受 中的設(shè)置影響。 php.ini

PDO_ODBC配置選項(xiàng)
名字默認(rèn)可修改范圍更新日志
pdo_odbc.connection_pooling“嚴(yán)格”INI_ALL 
pdo_odbc.db2_instance_nameINI_SYSTEM本過時(shí)特性肯定會(huì)在未來被移除。

有關(guān) INI_* 樣式的更多詳情與定義,見

 

配置可被設(shè)定范圍

。

這是配置指令的簡短說明。

pdo_odbc.connection_pooling 字符串

是否池化 ODBC 連接??梢允?之一,也可以是 (等于 )。該參數(shù)描述連接的嚴(yán)格程度 管理器應(yīng)在將連接參數(shù)與現(xiàn)有池化參數(shù)匹配時(shí) 連接。strict 是推薦的默認(rèn)值,并且 只有當(dāng)所有連接都連接時(shí),才會(huì)導(dǎo)致使用緩存連接 參數(shù)完全匹配。放松將導(dǎo)致 當(dāng)連接參數(shù)相似時(shí),使用緩存連接 使用。這可能會(huì)導(dǎo)致緩存的使用增加,從而面臨以下風(fēng)險(xiǎn): (例如)虛擬主機(jī)之間的連接信息泄露。"strict""relaxed""off"""

此設(shè)置只能從文件中更改,并影響整個(gè)過程;加載到 使用相同 ODBC 庫的進(jìn)程也會(huì)受到影響,包括 統(tǒng)一 ODBC 擴(kuò)展。php.ini

警告

寬松匹配不應(yīng)用于共享 出于安全原因,服務(wù)器。

小技巧

將此設(shè)置保留為默認(rèn)的嚴(yán)格設(shè)置 除非你有充分的理由改變它。

pdo_odbc.db2_instance_name 字符串

如果使用 flavor 編譯PDO_ODBC, 此設(shè)置將 DB2INSTANCE 環(huán)境變量的值設(shè)置為 Linux 和 UNIX 操作系統(tǒng)更改為 DB2 的指定名稱 實(shí)例。這使PDO_ODBC能夠解析 DB2 的位置 庫,并與 DB2 數(shù)據(jù)庫建立編目連接。db2

此設(shè)置只能從文件中更改,并影響整個(gè)過程;加載到 使用相同 ODBC 庫的進(jìn)程也會(huì)受到影響,包括 統(tǒng)一 ODBC 擴(kuò)展。php.ini

此設(shè)置對(duì) Windows 沒有影響。

目錄 

  • PDO_ODBC DSN — 連接到 ODBC 或 DB2 數(shù)據(jù)庫


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)