odbc_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_connectデータソースに接続する

説明

odbc_connect(
    string $dsn,
    string $user,
    string $password,
    int $cursor_option = SQL_CUR_USE_DRIVER
): resource|false

他の ODBC 関数を使用するには、 この関数が返す接続 ID が必要となります。 異なる db や異なる権限を使用する限り、 複数の接続を同時にオープンすることができます。

いくつかの ODBC ドライバでは、 複雑なストアド・プロシージャの実行時に次のようなエラーにより失敗する可能性があります。 "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it" SQL_CUR_USE_ODBC を使用することにより、 このようなエラーを回避できる可能性があります。 また、いくつかのドライバは odbc_fetch_row() においてオプションの row_number パラメータをサポートしません。 この場合でも、SQL_CUR_USE_ODBC により解決できる可能性があります。

パラメータ

dsn

接続に使用するデータベースソース名。 あるいは、DSNではない接続文字列を使用することもできます。

user

ユーザー名。

password

パスワード。

cursor_option

この接続で使用するカーソルの型。 通常はこのパラメータは必要ありませんが、いくつかの ODBC ドライバの問題に対処する際には有用です。

次のような定数がカーソル型として定義されています。

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER

戻り値

ODBC 接続を返します。 失敗した場合に false を返します

例1 DSN なしの接続

<?php
// Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 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() - 持続的なデータベース接続を開く

関連キーワード:  接続, CUR, USE, cursor, パラメータ, 関数, string, user, 持続, データベース