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/12/03 19:42] – [Driver Specific Options] mnewnham | v5:database:ibm_db2 [2025/06/01 13:21] (current) – Remove square brackets in tags dregad | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| ^ADOdb V5|Yes| | ^ADOdb V5|Yes| | ||
| ^ADOdb V6|Yes| | ^ADOdb V6|Yes| | ||
| + | |||
| == Alternative Drivers == | == Alternative Drivers == | ||
| - | [[database: | + | [[v5:database: |
| + | == 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. |
| - | ===== Generic Driver Option Support ===== | + | == PHP Drivers For Windows == |
| - | |[[reference:adodb_fetch_mode|ADODB_FETCH_BOTH]]|Yes| | + | PHP 7 and 8 drivers for windows are currently available |
| - | |[[reference:startTrans|Transactions]]|Yes| | + | |
| - | |[[reference: | + | |
| - | |[[reference:Sequences|Sequences]]|Yes| | + | |
| - | ===== Driver Specific Options ===== | + | ---------------------------------- |
| - | --------------------------- | + | |
| ==== uCaseTables ==== | ==== uCaseTables ==== | ||
| <WRAP right box> | <WRAP right box> | ||
| Line 32: | 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 43: | 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 59: | Line 67: | ||
| <code php> | <code php> | ||
| include ' | include ' | ||
| - | $dsn = ' | + | $dsn = ' |
| $conn = ADOnewConnection(' | $conn = ADOnewConnection(' | ||
| $conn-> | $conn-> | ||
| + | </ | ||
| + | |||
| + | ------------------------------ | ||
| + | ===== Connection Example Using *LOCAL ===== | ||
| + | <code php> | ||
| + | include ' | ||
| + | $dsn = ' | ||
| + | $conn = ADOnewConnection(' | ||
| + | $conn-> | ||
| + | |||
| + | /* | ||
| + | * Add another connection | ||
| + | */ | ||
| + | $dsn = ' | ||
| + | $conn2 = ADOnewConnection(' | ||
| + | $conn2-> | ||
| + | ------------------------------ | ||
| </ | </ | ||
| Line 70: | Line 95: | ||
| ^Driver Name|db2oci| | ^Driver Name|db2oci| | ||
| ^Data Provider|db2| | ^Data Provider|db2| | ||
| - | ^Status|Active((This driver is actively supported by ADOdb project members))| | + | ^Status|Deprecated((This driver is deprecated as of ADOdb version 5.21 and will be removed in ADOdb version 6))| |
| ^Windows|Yes| | ^Windows|Yes| | ||
| ^Unix|Yes| | ^Unix|Yes| | ||
| ^ADOdb V5|Yes| | ^ADOdb V5|Yes| | ||
| - | ^ADOdb V6|Yes| | + | ^ADOdb V6|No| |
| </ | </ | ||
| - | This driver re-maps ibm :0 bind variables to oracle compatible ? variables. Use this driver to enhance compatiblity between [[database:Oracle]] and DB2 drivers | + | This driver re-maps ibm :0 bind variables to oracle compatible ? variables. Use this driver to enhance compatiblity between [[v5:database:oracle]] and DB2 drivers. |
| + | |||
| + | The driver is deprecated. To write portable code that uses bind parameters and can be shared between DB2 and Oracle, use the [[v5: | ||
| ------------------------------------------------- | ------------------------------------------------- | ||
| Line 93: | Line 120: | ||
| </ | </ | ||
| 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 126: | 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.1449168177.txt.gz · Last modified: (external edit)
