SQLAlchemy support for IBM Data Servers
The IBM_DB_SA adapter provides the Python/SQLAlchemy interface to IBM Data Servers.
0.4.0 (2023/04/20)
Install ibm_db driver with below commands:
Linux and Windows:
pip install ibm_db
Mac:
pip install --no-cache-dir ibm_db
The IBM_DB_SA Python Egg component (.egg) can be installed using the standard setuptools provided by the Python Easy Install through Python Entreprise Application Kit community portal: http://peak.telecommunity.com/DevCenter/EasyInstall
Please follow the steps provided to Install "Easy Install" in the link above and follow up with these additional steps to install IBM_DB_SA:
To install IBM_DB_SA from pypi repository(pypi.python.org): Windows:
pip install ibm_db_sa Linux/Unix: $ sudo pip install ibm_db_sa
To install IBM_DB_SA egg component from the downloaded .egg file Windows:
easy_install ibm_db_sa-x.x.x-pyx.x.egg Linux/Unix: $ sudo easy_install ibm_db_sa-x.x.x-pyx.x.egg
To install IBM_DB_SA from source Standard Python setup should be used:: python setup.py install
In case you want to control the sqlalchemy version use the following commands
Install SQLAlchemy supported version:
pip install sqlalchemy==1.3.23
pip install ibm_db_sa
conda install -c conda-forge ibm_db
conda install -c conda-forge ibm_db_sa
1. WINDOWS
2. MAC
4. LINUX
A TCP/IP connection can be specified as the following::
from sqlalchemy import create_engine
e = create_engine("db2+ibm_db://user:pass@host[:port]/database")
For a local socket connection, exclude the "host" and "port" portions::
from sqlalchemy import create_engine
e = create_engine("db2+ibm_db://user:pass@/database")
By default, all tables and schemas stored in a Db2 database are created using capital letters only. However, if you have a table name in lowercase letters, you can still reference it by enclosing the name in single quotes inside double quotes. For example
if users table is in small letter inside database
So, you can use single quotes "'users'".
If you will not use single quotes such as "users", it will
be refered as "USERS".
metadata = sqlalchemy.MetaData(schema="schema1")
table = sqlalchemy.Table("'users'", metadata, autoload_with=engine)
ibm_db_sa for SQLAlchemy was first produced by IBM Inc., targeting version 0.4. The library was ported for version 0.6 and 0.7 by Jaimy Azle. Port for version 0.8 and modernization of test suite by Mike Bayer.
See CONTRIBUTING <https://github.com/ibmdb/python-ibmdbsa/tree/master/ibm_db_sa/contributing/CONTRIBUTING.md>
_.
The developer sign-off should include the reference to the DCO in remarks(example below):
DCO 1.1 Signed-off-by: Random J Developer <random@developer.org>