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:

主机

数据库服务器所在的 hostname。默认为 127.0.0.1。

数据库名

数据库的名称。

字符集

客户端字符集。

应用名称

应用程序名称(用于 sysprocesses)。默认为“PHP Generic DB-lib”或“PHP freetds”。

安全

目前未用。

示例

示例 #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 notes

匿名
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 版本 = 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