2024 年 PHP Conference Japan

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSN連線到 Microsoft SQL Server 和 Sybase 資料庫

說明

PDO_DBLIB 資料來源名稱 (DSN) 由以下元素組成

DSN 前綴

如果 PDO_DBLIB 與 Sybase ct-lib 函式庫連結,則 DSN 前綴為 sybase:;如果 PDO_DBLIB 與 Microsoft SQL Server 函式庫連結,則為 mssql:;如果 PDO_DBLIB 與 FreeTDS 函式庫連結,則為 dblib:

主機

資料庫伺服器所在的主機名稱。預設為 127.0.0.1。

資料庫名稱

資料庫名稱。

charset

用戶端字元集。

appname

應用程式名稱(用於 sysprocesses 中)。預設為「PHP Generic DB-lib」或「PHP freetds」。

secure

目前未使用。

範例

範例 #1 PDO_DBLIB DSN 範例

以下範例顯示用於連線到 Microsoft SQL Server 和 Sybase 資料庫的 PDO_DBLIB DSN

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

新增筆記

使用者貢獻的筆記 3 則筆記

匿名
8 年前
除了在 freetds.conf 中指定 tds 版本和用戶端字元集之外,您也可以將其作為參數傳遞。
<?php $dsn = 'dblib:version=7.0;charset=UTF-8;host=domain.example.com;dbname=example;'; ?>
michal at durys dot pl
11 年前
如果您使用的是 FreeTDS 驅動程式,並且想要使用「charset」參數,則您可能需要編輯 freetds.conf(例如 /etc/freetds/freetds.conf)並強制使用至少 7.0 版的通訊協定進行連線。

tds version = 7.0

Charset 參數接受 iconv 支援的所有編碼(執行 iconv --list 以顯示所有編碼)。
slach at 74mail dot ru
15 年前
當您連線到非標準 1433 連接埠時

對於 win32,請使用像 'mssql:host=hostname,port;dbname=database' 這樣的 DSN

對於 FreeTDS 和 DB-Lib,請使用像 'mssql:host=hostname:port;dbname=database' 這樣的 DSN
To Top