CakeFest 2024: The Official CakePHP Conference

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSNСоединение с базами данных Microsoft SQL Server и Sybase

Описание

Имя источника данных (Data Source Name, DSN) PDO_DBLIB состоит из следующих элементов:

Префикс DSN

Используйте префикс DSN sybase: в случае, если PDO_DBLIB собран с библиотеками Sybase ct-lib, mssql:, если PDO_DBLIB собран с библиотеками Microsoft SQL Server, или dblib:, если PDO_DBLIB собран с библиотеками FreeTDS.

host

Имя сервера, на котором располагается база данных. По умолчанию 127.0.0.1.

dbname

Имя базы данных.

charset

Клиентская кодировка.

appname

Имя приложения (используется в sysprocesses). По умолчанию "PHP Generic DB-lib" или "PHP freetds".

secure

В данный момент не используется.

Примеры

Пример #1 Примеры использования PDO_DBLIB DSN

Следующие примеры демонстрируют PDO_DBLIB DSN для соединения с базами данных Microsoft SQL Server и Sybase:

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

add a note

User Contributed Notes 3 notes

up
13
Anonymous
8 years ago
Instead of specifying tds version and client charset in freetds.conf, you may pass it as a parameter.
<?php $dsn = 'dblib:version=7.0;charset=UTF-8;host=domain.example.com;dbname=example;'; ?>
up
10
michal at durys dot pl
10 years ago
If you're using FreeTDS driver and you want to use "charset" parameter then you may have to edit freetds.conf (e.g. /etc/freetds/freetds.conf) and force connection using at least version 7.0 of the protocol.

tds version = 7.0

Charset parameter accepts all encodings supported by iconv (execute iconv --list to show all encodings).
up
5
slach at 74mail dot ru
15 years ago
when you connect to non standart 1433 port

for win32 use DSN like 'mssql:host=hostname,port;dbname=database'

for FreeTDS and DB-Lib use DSN like 'mssql:host=hostname:port;dbname=database'
To Top