v5:database:ibm_db2
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| database:ibm_db2 [2015/11/26 18:47] – [Creating Tables] mnewnham | v5:database:ibm_db2 [2025/06/01 13:21] (current) – Remove square brackets in tags dregad | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== IBM DB2 ===== | ====== IBM DB2 ===== | ||
| + | ~~NOTOC~~ | ||
| + | <WRAP right box round 300px> | ||
| + | == Specification == | ||
| + | ^Driver Name|db2| | ||
| + | ^Data Provider|db2| | ||
| + | ^Status|Active((This driver is actively supported by ADOdb project members))| | ||
| + | ^Windows|Yes| | ||
| + | ^Unix|Yes| | ||
| + | ^ADOdb V5|Yes| | ||
| + | ^ADOdb V6|Yes| | ||
| + | |||
| + | == Alternative Drivers == | ||
| + | [[v5: | ||
| + | == See Also == | ||
| + | [[v5: | ||
| + | </ | ||
| ===== Description ===== | ===== Description ===== | ||
| - | This driver provides a connection to IBM DB2 Databases, using the IBM Data Client. | + | This driver provides a connection to IBM DB2 Databases, using the IBM Data Client. This driver |
| - | ===== Support Status ===== | + | == PHP Drivers For Windows == |
| - | This driver | + | PHP 7 and 8 drivers for windows are currently available |
| - | ===== Specification ====== | + | |
| - | |Driver Name|db2| | + | |
| - | |Status|Active| | + | |
| - | |Supported OS|Windows, | + | |
| - | ===== Generic Driver Option Support ===== | + | |
| - | |[[reference:adodb_fetch_mode|ADODB_FETCH_BOTH]]|Yes| | + | |
| - | |[[reference:startTrans|Transactions]]|Yes| | + | |
| - | |[[reference: | + | |
| - | |[[reference:Sequences|Sequences]]|Yes| | + | |
| - | ===== Driver Specific Options ===== | + | ---------------------------------- |
| - | --------------------------- | + | |
| ==== uCaseTables ==== | ==== uCaseTables ==== | ||
| <WRAP right box> | <WRAP right box> | ||
| Line 25: | Line 31: | ||
| </ | </ | ||
| - | This variable sets the keys in [[dictionary: | + | This variable sets the keys in [[v5:dictionary:metacolumns]],[[v5:dictionary:metaprimarykeys]] and [[v5:dictionary:metaforeignkeys]] to upper-case when retrieved. The default is true. |
| <code php> | <code php> | ||
| Line 36: | Line 42: | ||
| </ | </ | ||
| -------------------------------- | -------------------------------- | ||
| + | ------------------------------------------------------- | ||
| ===== Connection Example Using Instance ===== | ===== Connection Example Using Instance ===== | ||
| - | < | + | <WRAP info> |
| The DB2 database must be catalogued for a connection like this to work. | The DB2 database must be catalogued for a connection like this to work. | ||
| </ | </ | ||
| + | ==== Building a catalog entry ==== | ||
| + | This is a simple example building a catalogued connection from a windows client to a remote DB2 server running on a machine named adodb-db2.local. The server is running on port 25010. We will add a DSN entry called // | ||
| + | |||
| + | < | ||
| + | db2cli writecfg add -database SAMPLE -host adodb-db2.local -port 25010 | ||
| + | db2cli writecfg add -dsn adodb-test -database SAMPLE -host adodb-db2.local -port 25010 | ||
| + | </ | ||
| + | To use this DSN | ||
| <code php> | <code php> | ||
| include ' | include ' | ||
| - | $database | + | $dsn = 'adodb-test'; |
| $user = ' | $user = ' | ||
| $password = ' | $password = ' | ||
| $conn = ADOnewConnection(' | $conn = ADOnewConnection(' | ||
| - | $conn-> | + | $conn-> |
| </ | </ | ||
| Line 52: | Line 67: | ||
| <code php> | <code php> | ||
| include ' | include ' | ||
| - | $dsn = ' | + | $dsn = ' |
| $conn = ADOnewConnection(' | $conn = ADOnewConnection(' | ||
| $conn-> | $conn-> | ||
| </ | </ | ||
| - | ===== Alternative Drivers ===== | ||
| - | ==== odbc_db2 ==== | ||
| - | |Driver Name|odbc_db2| | ||
| - | |Status|Unknown| | ||
| - | |Supported OS|Windows, | ||
| - | Connects to DB2 database using either the IBM or 3rd party ODBC driver | + | ------------------------------ |
| - | <WRAP tip> | + | ===== Connection Example Using *LOCAL ===== |
| - | If the driver supports it setting the Cursor Type to '' | + | <code php> |
| + | include | ||
| + | $dsn = 'hostname=adodb-db2.local; | ||
| + | $conn = ADOnewConnection(' | ||
| + | $conn-> | ||
| - | To set SQL_CUR_USE_ODBC for drivers that require it, do this: | + | /* |
| - | <code php> | + | * Add another connection |
| - | $db = NewADOConnection('odbc_db2'); | + | */ |
| - | $db-> | + | $dsn = '*LOCAL'; |
| - | $db->Connect($dsn, $userid, $pwd); | + | $conn2 = ADOnewConnection(' |
| + | $conn2->connect($dsn); | ||
| + | ------------------------------ | ||
| </ | </ | ||
| - | </ | ||
| - | <WRAP tip> | ||
| - | == USING CLI INTERFACE == | ||
| - | There were reports that the $host and $database params have to be reversed | + | ------------------------------ |
| + | ==== db2oci ==== | ||
| + | <WRAP right box round 300px> | ||
| + | == Specification == | ||
| + | ^Driver Name|db2oci| | ||
| + | ^Data Provider|db2| | ||
| + | ^Status|Deprecated((This driver is deprecated as of ADOdb version 5.21 and will be removed | ||
| + | ^Windows|Yes| | ||
| + | ^Unix|Yes| | ||
| + | ^ADOdb V5|Yes| | ||
| + | ^ADOdb V6|No| | ||
| </ | </ | ||
| + | This driver re-maps ibm :0 bind variables to oracle compatible ? variables. Use this driver to enhance compatiblity between [[v5: | ||
| - | <WRAP tip> | + | The driver is deprecated. To write portable code that uses bind parameters and can be shared between |
| - | == System Error 5 == | + | |
| - | IF you get a System Error 5 when trying to Connect/ | + | |
| - | to DB2 full rights to the DB2 SQLLIB directory, and place the user in the DBUSERS group. | + | |
| - | </ | + | ------------------------------------------------- |
| - | ==== db2oci | + | ==== db2ora |
| - | |Driver Name|db2oci| | + | |
| - | |Status|Active| | + | |
| - | |Supported OS|Windows, | + | |
| - | This driver re-maps ibm :0 bind variables to oracle compatible ? variables. Use this driver to enhance compatiblity between [[database: | + | |
| - | ------------------------------------------------- | + | <WRAP right box round 300px> |
| - | <WRAP right alert round> | + | == Specification == |
| - | This driver will be removed in version 6.0.0 | + | ^Driver Name|db2| |
| + | ^Data Provider|db2| | ||
| + | ^Status|Obsolete((This driver | ||
| + | ^Windows|Yes| | ||
| + | ^Unix|Yes| | ||
| + | ^ADOdb V5|Yes| | ||
| + | ^ADOdb V6|No| | ||
| </ | </ | ||
| - | ==== db2ora ==== | ||
| - | |Driver Name|db2ora| | ||
| - | |Status|Obsolete| | ||
| - | |Supported OS|Windows, | ||
| This driver provides undocumented bind variable mapping from ibm to oracle.The functionality appears to overlap the db2_oci driver | This driver provides undocumented bind variable mapping from ibm to oracle.The functionality appears to overlap the db2_oci driver | ||
| - | {{tag>[ibm db2]}} | + | {{tag> |
| ===== Case Sensitivity In Table And Column Names ===== | ===== Case Sensitivity In Table And Column Names ===== | ||
| Line 133: | Line 153: | ||
| Any table name containing special characters will need to be quoted in all queries. | Any table name containing special characters will need to be quoted in all queries. | ||
| - | ==== Using metaCasing with DB2 ==== | ||
| - | When using DB2, it is important to remember that when using [[dictionary: | ||
| - | |||
| - | Generally, development standards mean that table names in a database are created to a casing standard, for example, all upper-case or lower-case table and column names. In that case, metaCasing will work the same as in other databases, e.g. | ||
| - | <code php> | ||
| - | /* | ||
| - | * Connection to DB2 smple database, accessing a table called ACT | ||
| - | * Set the casing to lower case | ||
| - | */ | ||
| - | $db-> | ||
| - | $cols = $db-> | ||
| - | print_r($cols); | ||
| - | /* | ||
| - | * Prints | ||
| - | Array( | ||
| - | [0] => actno, | ||
| - | [1] => actname, | ||
| - | [2] => actdesc | ||
| - | ) | ||
| - | */ | ||
| - | |||
| - | </ | ||
| - | ----------------- | ||
| - | <WRAP right info 300px> | ||
| - | These rules also apply to column naming | ||
| - | </ | ||
| - | ===== The Impact Of METACASE_NATIVE ===== | ||
| - | Setting the metaCasing option to '' | ||
| - | ==== Creating Tables ==== | ||
| - | Consider the following case-sensitive table name: '' | ||
| - | |||
| - | ^MetaCase^Created As^SQL Retrieval^Presentation in MetaFunctions^ | ||
| - | |METACASE_UPPER|ACCOUNTTABLE|SELECT FROM ACCOUNTTABLE, | ||
| - | |METACASE_LOWER|ACCOUNTTABLE|SELECT FROM ACCOUNTTABLE, | ||
| - | |METACASE_NATIVE|accountTable|SELECT FROM " | ||
| - | |||
| - | As shown, once a table is created in non-upper case when the metaCasing value is '' | ||
| - | {{tag>[db2 supported]}} | + | {{tag> |
v5/database/ibm_db2.1448560028.txt.gz · Last modified: (external edit)
