2024年PHP开发者大会日本站

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。

数据库名

数据库的名称。

字符集

客户端字符集。

应用程序名

应用程序名称(用于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条备注

匿名
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