(PECL PDO_ODBC >= 0.1.0)
PDO_ODBC DSN — Connecting to ODBC or DB2 databases
The PDO_ODBC Data Source Name (DSN) is composed of the following elements:
The DSN prefix is odbc:
. If you are connecting
to a database cataloged in the ODBC driver manager or the DB2 catalog,
you can append the cataloged name of the database to the DSN.
The name of the database as cataloged in the ODBC driver manager or the DB2 catalog. Alternately, you can provide a complete ODBC connection string to connect to a database as described at » http://www.connectionstrings.com/.
The name of the user for the connection. If you specify the user name in the DSN, PDO ignores the value of the user name argument in the PDO constructor.
The password of the user for the connection. If you specify the password in the DSN, PDO ignores the value of the password argument in the PDO constructor.
Beispiel #1 PDO_ODBC DSN example (ODBC driver manager)
The following example shows a PDO_ODBC DSN for connecting to an ODBC database cataloged as testdb in the ODBC driver manager:
odbc:testdb
Beispiel #2 PDO_ODBC DSN example (IBM DB2 uncataloged connection)
The following example shows a PDO_ODBC DSN for connecting to
an IBM DB2 database named SAMPLE
using the full
ODBC DSN syntax:
odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;
Beispiel #3 PDO_ODBC DSN example (Microsoft Access uncataloged connection)
The following example shows a PDO_ODBC DSN for connecting to
a Microsoft Access database stored at C:\db.mdb
using the full
ODBC DSN syntax:
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.