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 [2023/01/24 03:53] (current) – mnewnham | ||
---|---|---|---|
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 | + | ------------------------------ |
- | < | + | ==== db2oci ==== |
- | If the driver | + | < |
+ | == Specification == | ||
+ | ^Driver Name|db2oci| | ||
+ | ^Data Provider|db2| | ||
+ | ^Status|Deprecated((This | ||
+ | ^Windows|Yes| | ||
+ | ^Unix|Yes| | ||
+ | ^ADOdb V5|Yes| | ||
+ | ^ADOdb V6|No| | ||
- | To set SQL_CUR_USE_ODBC for drivers that require it, do this: | ||
- | <code php> | ||
- | $db = NewADOConnection(' | ||
- | $db-> | ||
- | $db-> | ||
- | </ | ||
</ | </ | ||
- | <WRAP tip> | + | This driver re-maps ibm :0 bind variables to oracle compatible ? variables. Use this driver to enhance compatiblity between [[v5: |
- | == USING CLI INTERFACE == | + | |
- | There were reports | + | The driver is deprecated. To write portable code that uses bind parameters |
- | </ | + | |
- | <WRAP tip> | + | ------------------------------------------------- |
- | == System Error 5 == | + | ==== db2ora ==== |
- | 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. | + | |
+ | <WRAP right box round 300px> | ||
+ | == Specification == | ||
+ | ^Driver Name|db2| | ||
+ | ^Data Provider|db2| | ||
+ | ^Status|Obsolete((This driver is not supported, and will be removed in ADOdb V6))| | ||
+ | ^Windows|Yes| | ||
+ | ^Unix|Yes| | ||
+ | ^ADOdb V5|Yes| | ||
+ | ^ADOdb V6|No| | ||
</ | </ | ||
- | ==== db2oci ==== | ||
- | |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 alert round> | ||
- | This driver will be removed in version 6.0.0 | ||
- | </ | ||
- | ==== 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> | + | {{tag> |
===== Case Sensitivity In Table And Column Names ===== | ===== Case Sensitivity In Table And Column Names ===== | ||
Line 133: | Line 136: | ||
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> | {{tag> |
v5/database/ibm_db2.1448560028.txt.gz · Last modified: 2017/04/21 11:25 (external edit)