You can use functions in the ibm_db API to retrieve metadata for IBM databases.
Before calling these functions, you must set up the Python environment, issue import_db in your Python script, and obtain a connection resource by calling the ibm_db.connect or ibm_db.pconnect function.
Function | Description |
---|---|
ibm_db.client_info | Returns a read-only object with information about the IBM data server client |
ibm_db.column_privileges | Returns a result set listing the columns and associated privileges for a table |
ibm_db.columns | Returns a result set listing the columns and associated metadata for a table |
ibm_db.foreign_keys | Returns a result set listing the foreign keys for a table |
ibm_db.primary_keys | Returns a result set listing the primary keys for a table |
ibm_db.procedure_columns | Returns a result set listing the parameters for one or more stored procedures |
ibm_db.procedures | Returns a result set listing the stored procedures registered in a database |
ibm_db.server_info | Returns a read-only object with information about the IBM data server |
ibm_db.special_columns | Returns a result set listing the unique row identifier columns for a table |
ibm_db.statistics | Returns a result set listing the index and statistics for a table |
ibm_db.table_privileges | Returns a result set listing the tables in a database and the associated privileges |
For more information about the ibm_db API, see http://code.google.com/p/ibm-db/wiki/APIs.
Example 1: Display information about the IBM data server client
import ibm_db
conn = ibm_db.connect("sample", "user", "password")
client = ibm_db.client_info(conn)
if client:
print "DRIVER_NAME: string(%d) \"%s\"" % (len(client.DRIVER_NAME), client.DRIVER_NAME)
print "DRIVER_VER: string(%d) \"%s\"" % (len(client.DRIVER_VER), client.DRIVER_VER)
print "DATA_SOURCE_NAME: string(%d) \"%s\"" % (len(client.DATA_SOURCE_NAME), client.DATA_SOURCE_NAME)
print "DRIVER_ODBC_VER: string(%d) \"%s\"" % (len(client.DRIVER_ODBC_VER), client.DRIVER_ODBC_VER)
print "ODBC_VER: string(%d) \"%s\"" % (len(client.ODBC_VER), client.ODBC_VER)
print "ODBC_SQL_CONFORMANCE: string(%d) \"%s\"" % (len(client.ODBC_SQL_CONFORMANCE), client.ODBC_SQL_CONFORMANCE)
print "APPL_CODEPAGE: int(%s)" % client.APPL_CODEPAGE
print "CONN_CODEPAGE: int(%s)" % client.CONN_CODEPAGE
ibm_db.close(conn)
else:
print "Error."
Example 2: Display information about the IBM data server
import ibm_db
conn = ibm_db.connect("sample", "user", "password")
server = ibm_db.server_info(conn)
if server:
print "DBMS_NAME: string(%d) \"%s\"" % (len(server.DBMS_NAME), server.DBMS_NAME)
print "DBMS_VER: string(%d) \"%s\"" % (len(server.DBMS_VER), server.DBMS_VER)
print "DB_NAME: string(%d) \"%s\"" % (len(server.DB_NAME), server.DB_NAME)
ibm_db.close(conn)
else:
print "Error."