Another axample odbc dsn MSSQL 2005
Just an exemple of an odbc connection string to MSSQL 2005 :
<?php
$cnx = new PDO("odbc:Driver={SQL Server};Server=250.156.0.1;Database=myDataBase; Uid=userName;Pwd=thePassword;");
?>
PDO_ODBC DSN
(PECL PDO_ODBC >= 0.1.0)
PDO_ODBC DSN — ODBC あるいは DB2 データベースに接続する
説明
PDO_ODBC データソース名 (DSN) は以下の要素で構成されます。
- DSN 接頭辞
-
DSN 接頭辞は
odbc:です。 ODBC ドライバマネージャや DB2 カタログに登録されている データベースに接続する際には、登録されている名前を DSN に追加することができます。 - DSN
-
ODBC ドライバマネージャあるいは DB2 カタログに登録されている データベース名を指定します。それ以外の方法として、 » http://www.connectionstrings.com/ で説明されている完全な ODBC 接続文字列を使用して データベースに接続することもできます。
- UID
-
接続に使用するユーザーの名前を指定します。DSN と同じユーザー名を指定した場合は、PDO はコンストラクタの引数で指定された ユーザー名を無視します。
- PWD
-
接続するユーザーのパスワードを指定します。DSN と同じパスワードを指定した場合は、PDO はコンストラクタの引数で指定された パスワードを無視します。
例
例1 PDO_ODBC DSN の例 (ODBC ドライバマネージャ)
以下の例は、ODBC ドライバマネージャで testdb として登録されている ODBC データベースに接続するための PDO_ODBC DSN を表します。
odbc:testdb
例2 PDO_ODBC DSN の例 (IBM DB2 非カタログ接続)
以下の例は、完全な ODBC DSN 構文を使用して
SAMPLE という名前の
IBM DB2 データベースに接続するための
PDO_ODBC DSN を表します。
odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;
例3 PDO_ODBC DSN の例 (Microsoft Access 非カタログ接続)
以下の例は、完全な ODBC DSN 構文を使用して
C:\db.mdb にある
Microsoft Access データベースに接続するための
PDO_ODBC DSN を表します。
odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin
It's also worth noting that to use the DSN-less connection string as suggested by "nicolas dot baptiste at gmail dot com", you need the SQL Native Client installed on your windows-based workstation/server. This is available on the Microsoft website under "Feature Pack for SQL Server 2xxx".
Note, you generally will want the latest SQL Native Client available as it SHOULD be compatible with older SQL server versions AND newer SQL server versions.
Just an exemple of an odbc connection string to MSSQL 2005 :
<?php
$cnx = new PDO("odbc:Driver={SQL Native Client};Server=250.156.0.1;Database=myDataBase; Uid=userName;Pwd=thePassword;");
?>
On MS SQL Server there is a convenient way to help troubleshooting database server performance problems is to use the APP attribute, like this:
<?php
$dsn = 'DRIVER=FreeTDS;SERVERNAME=server1;DATABASE=testdb;APP=My PHP Application;UID=user;';
?>
This will show the "My PHP Application" text in ProgramName column of the sp_who2 procedure in MS SQL Server.
