odbc_connect
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_connect — Соединяется с источником данных
Описание
Идентификатор соединения, который возвращает функция, потребуется другим
ODBC-функциям. Разрешается открывать несколько соединений одновременно,
если коннектор установил соединение с разными базами данных или разными учётными данными.
Отдельные ODBC-драйверы, которые выполняют сложные хранимые процедуры, иногда
завершаются ошибкой наподобие: "Cannot open a cursor on a stored procedure that has anything other than a single
select statement in it" («Невозможно открыть курсор в хранимой процедуре, которая содержит другие команды,
кроме одной команды SELECT»). Тип курсора SQL_CUR_USE_ODBC помогает избегать появления этой
ошибки. Отдельные драйверы также не поддерживают необязательный параметр row_number
в функции odbc_fetch_row(). Курсор SQL_CUR_USE_ODBC также иногда помогает в похожих случаях.
Список параметров
dsn
-
Имя источника базы данных (англ. Database Source Name, DSN) для соединения.
Альтернативно функция работает и со строкой соединения без DSN-имени.
user
-
Имя.
Параметр игнорируется, если dsn содержит uid.
Для подключения без указания user используйте null.
password
-
Пароль.
Параметр игнорируется, если dsn содержит pwd.
Для подключения без указания password используйте null.
cursor_option
-
Устанавливает тип курсора для соединения.
Обычно этот параметр не требуется, но иногда становится полезным
для обхода проблем с отдельными ODBC-драйверами.
Для типа курсора определили следующие константы:
-
SQL_CUR_USE_IF_NEEDED
-
SQL_CUR_USE_ODBC
-
SQL_CUR_USE_DRIVER
Возвращаемые значения
Функция возвращает ODBC-соединение или false, если возникла ошибка.
Примеры
Пример #1 Пример соединения без DSN-строки подключения
<?php
// Microsoft SQL Server, который работает через драйвер SQL Native Client 10.0 ODBC Driver, разрешает соединяться
// с серверами SQL 7, 2000, 2005 и 2008
$connection = odbc_connect(
"Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;",
$user,
$password
);
// Соединение с источником данных Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);
// Соединение с источником данных Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect(
"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir",
'',
''
);
?>
Смотрите также
- Для постоянных соединений: odbc_pconnect() - Открывает постоянное соединение с базой данных