説明
resourcefalse odbc_connect(
string $dsn
,
string $user
,
string $password
,
int $cursor_option
= SQL_CUR_USE_DRIVER
)
他の 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" , '', '');
?>