ODBC
In addition to the generic ODBC driver for use with Windows ODBC drivers, there are additional ODBC drivers that provide extended support for database specific functions
odbc
Specification
Driver Name | odbc |
---|---|
Data Provider | odbc |
Status | Active1) |
Windows | Yes |
Unix | No |
ADOdb V5 | Yes |
ADOdb V6 | Yes |
Alternatives
- This generic driver can be used with any database with ODBC connection support.
- Connections can only be made using DSN connection strings or predefined ODBC connections.
- Performance and functionality may be limited.
- Writing portable applications that use this driver is not recommended.
- When configuring connections on Windows, ensure that the ODBC driver configuration (32 Bit/64 Bit) matches the installed PHP version.
Setting The Cursor Mode
All ADOdb ODBC drivers can configure an appropriate cursor mode. The following modes are available through PHP.
- SQL_CUR_USE_IF_NEEDED
- SQL_CUR_USE_ODBC
- SQL_CUR_USE_DRIVER
The cursor is set by setting the curmode
prior to the connect statement
include 'adodb/adodb.inc.php'; $db = newAdoConnection('odbc'); $db->curmode = SQL_CUR_USE_IF_NEEDED; $db->connect('northwind');
odbc_mssql
Specification
Driver Name | odbc_mssql |
---|---|
Data Provider | odbc |
Status | Active2) |
Windows | Yes |
Unix | No |
ADOdb V5 | Yes |
ADOdb V6 | Yes |
Alternatives
When used on Windows clients, this driver needs the Microsoft SQL server native client. There are feature limitations compared to the mssqlnative
driver, use of that is always recommended. If you are using the driver with SQL Server versions 2012 and higher, consider using the odbc_mssql2012 driver instead, as 2012+ database specific fixes will be placed into that driver.
odbc_mssql2012
From ADOdb V5.21
Specification
Driver Name | odbc_mssql2012 |
---|---|
Data Provider | odbc |
Status | Active3) |
Windows | Yes |
Unix | No |
ADOdb V5 | Yes |
ADOdb V6 | Yes |
When used with SQL Server 2012, concatenation of strings results in a different behaviour compared with earlier versions. This article explains the difference.
odbc_oracle
Specification
Driver Name | odbc_oracle |
---|---|
Data Provider | odbc |
Status | Active4) |
Windows | Yes |
Unix | No |
ADOdb V5 | Yes |
ADOdb V6 | Yes |
After connection, the date format is automatically set by the driver by executing the following statement:
$sql = "ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'"; $db->execute($sql);
odbc_db2
Specification
Driver Name | odbc_db2 |
---|---|
Data Provider | odbc |
Status | Inactive5) |
Windows | Yes |
Unix | No |
ADOdb V5 | Yes |
ADOdb V6 | Yes |
Alternatives
Connects to DB2 database using either the IBM or 3rd party ODBC driver
If the driver supports it setting the Cursor Type to SQL_CUR_USE_ODBC
can provide substantial performance improvements. See top of this page for more information.
USING CLI INTERFACE
There were reports that the $host and $database params have to be reversed in Connect() when using the CLI interface.
System Error 5
IF you get a System Error 5 when trying to Connect/Load, it could be a permission problem. Give the user connecting to DB2 full rights to the DB2 SQLLIB directory, and place the user in the DBUSERS group.
Feature Limitations
ODBC connections have functionality limitations include transactional handling. See the Feature Matrix for more information