IBM_DB_SA
=========
The IBM_DB_SA adapter provides the Python/SQLAlchemy interface to IBM Data Servers.
Version
--------
0.4.1 (2024/07/30)
Prerequisites
--------------
1. Install Python 2.7 or newer versions except python 3.3 or Jython 2.5.x .
2. SQLAlchemy version between 0.7.3 - 2.0.x.
3. IBM_DB driver and IBM_DB_DBI wrapper 1.0.1 or higher.
```
Install ibm_db driver with below commands:
Linux and Windows:
pip install ibm_db
Mac:
pip install --no-cache-dir ibm_db
```
Install and Configuration
=========================
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:
1. 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
2. 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
3. To install IBM_DB_SA from source
Standard Python setup should be used::
python setup.py install
4. 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
```
5. IBM_DB_SA is now available as part of conda-forge channel.
Install Instruction from conda-forge channel
```
conda install -c conda-forge ibm_db
conda install -c conda-forge ibm_db_sa
```
#### PLATFORMS SUPPORTED THROUGH CONDA FORGE ####
1. WINDOWS
2. MAC
4. LINUX
Connecting
----------
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")
```
Supported Databases
-------------------
- IBM DB2 Universal Database for Linux/Unix/Windows versions 9.7 onwards
- IBM Db2 on Cloud
- IBM Db2 on ZOS
- IBM Db2 on Iseries
Note
-------------------------------------------------------------
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)
```
Known Limitations in ibm_db_sa adapter for DB2 databases
-------------------------------------------------------------
1) Non-standard SQL queries are not supported. e.g. "SELECT ? FROM TAB1"
2) For updations involving primary/foreign key references, the entries should be made in correct order. Integrity check is always on and thus the primary keys referenced by the foreign keys in the referencing tables should always exist in the parent table.
3) Unique key which contains nullable column not supported
4) UPDATE CASCADE for foreign keys not supported
5) DEFERRABLE INITIALLY deferred not supported
6) Subquery in ON clause of LEFT OUTER JOIN not supported
7) PyODBC and Jython/zxjdbc support is experimental
Credits
-------
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.
Contributing to IBM_DB_SA python project
----------------------------------------
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>
```
Raw data
{
"_id": null,
"home_page": "http://pypi.python.org/pypi/ibm_db_sa/",
"name": "ibm-db-sa",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "sqlalchemy database interface IBM Data Servers Db2",
"author": "IBM Application Development Team",
"author_email": "balram.choudhary@ibm.com",
"download_url": "https://files.pythonhosted.org/packages/4b/93/041fda7aba8d58e0d9cd059351b4fa84e9c0e3225b9564febdb8c22eba76/ibm_db_sa-0.4.1.tar.gz",
"platform": "All",
"description": "IBM_DB_SA\r\n=========\r\n\r\nThe IBM_DB_SA adapter provides the Python/SQLAlchemy interface to IBM Data Servers.\r\n\r\nVersion\r\n--------\r\n0.4.1 (2024/07/30)\r\n\r\nPrerequisites\r\n--------------\r\n1. Install Python 2.7 or newer versions except python 3.3 or Jython 2.5.x .\r\n2. SQLAlchemy version between 0.7.3 - 2.0.x.\r\n3. IBM_DB driver and IBM_DB_DBI wrapper 1.0.1 or higher.\r\n```\r\n Install ibm_db driver with below commands:\r\n\t Linux and Windows: \r\n\t \t pip install ibm_db\r\n\t Mac:\r\n\t\t pip install --no-cache-dir ibm_db\r\n```\r\n\r\nInstall and Configuration\r\n=========================\r\nThe IBM_DB_SA Python Egg component (.egg) can be installed using the standard setuptools provided by the Python Easy Install through Python Entreprise \r\nApplication Kit community portal:\r\n http://peak.telecommunity.com/DevCenter/EasyInstall\r\n\r\nPlease follow the steps provided to Install \"Easy Install\" in the link above and follow up with these additional steps to install IBM_DB_SA:\r\n\r\n 1. To install IBM_DB_SA from pypi repository(pypi.python.org):\r\n Windows:\r\n > pip install ibm_db_sa\r\n Linux/Unix:\r\n $ sudo pip install ibm_db_sa\r\n \r\n 2. To install IBM_DB_SA egg component from the downloaded .egg file\r\n Windows:\r\n > easy_install ibm_db_sa-x.x.x-pyx.x.egg\r\n Linux/Unix:\r\n $ sudo easy_install ibm_db_sa-x.x.x-pyx.x.egg\r\n \r\n 3. To install IBM_DB_SA from source\r\n Standard Python setup should be used::\r\n python setup.py install\r\n\r\n 4. In case you want to control the sqlalchemy version use the following commands\r\n ```\r\n Install SQLAlchemy supported version:\r\n pip install sqlalchemy==1.3.23\r\n pip install ibm_db_sa\r\n ```\r\n\r\n 5. IBM_DB_SA is now available as part of conda-forge channel.\r\n Install Instruction from conda-forge channel\r\n ```\r\n conda install -c conda-forge ibm_db\r\n conda install -c conda-forge ibm_db_sa\r\n ```\r\n #### PLATFORMS SUPPORTED THROUGH CONDA FORGE ####\r\n 1. WINDOWS\r\n 2. MAC\r\n 4. LINUX\r\n\r\nConnecting\r\n----------\r\nA TCP/IP connection can be specified as the following::\r\n```\r\n\tfrom sqlalchemy import create_engine\r\n\r\n\te = create_engine(\"db2+ibm_db://user:pass@host[:port]/database\")\r\n```\r\n\r\nFor a local socket connection, exclude the \"host\" and \"port\" portions::\r\n\r\n```\r\n\tfrom sqlalchemy import create_engine\r\n\r\n\te = create_engine(\"db2+ibm_db://user:pass@/database\")\r\n```\r\n\r\nSupported Databases\r\n-------------------\r\n- IBM DB2 Universal Database for Linux/Unix/Windows versions 9.7 onwards \r\n- IBM Db2 on Cloud\r\n- IBM Db2 on ZOS\r\n- IBM Db2 on Iseries\r\n\r\nNote\r\n-------------------------------------------------------------\r\nBy default, all tables and schemas stored in a Db2 database are created\r\nusing capital letters only.\r\nHowever, if you have a table name in lowercase letters, you can still reference\r\nit by enclosing the name in single quotes inside double quotes.\r\nFor example\r\n```\r\n\tif users table is in small letter inside database\r\n\tSo, you can use single quotes \"'users'\".\r\n\tIf you will not use single quotes such as \"users\", it will\r\n\tbe refered as \"USERS\".\r\n\r\n\tmetadata = sqlalchemy.MetaData(schema=\"schema1\")\r\n\ttable = sqlalchemy.Table(\"'users'\", metadata, autoload_with=engine)\r\n\r\n```\r\n\r\nKnown Limitations in ibm_db_sa adapter for DB2 databases\r\n-------------------------------------------------------------\r\n1) Non-standard SQL queries are not supported. e.g. \"SELECT ? FROM TAB1\"\r\n2) For updations involving primary/foreign key references, the entries should be made in correct order. Integrity check is always on and thus the primary keys referenced by the foreign keys in the referencing tables should always exist in the parent table.\r\n3) Unique key which contains nullable column not supported\r\n4) UPDATE CASCADE for foreign keys not supported\r\n5) DEFERRABLE INITIALLY deferred not supported\r\n6) Subquery in ON clause of LEFT OUTER JOIN not supported\r\n7) PyODBC and Jython/zxjdbc support is experimental\r\n\r\n\r\nCredits\r\n-------\r\nibm_db_sa for SQLAlchemy was first produced by IBM Inc., targeting version 0.4.\r\nThe library was ported for version 0.6 and 0.7 by Jaimy Azle.\r\nPort for version 0.8 and modernization of test suite by Mike Bayer.\r\n\r\nContributing to IBM_DB_SA python project\r\n----------------------------------------\r\nSee `CONTRIBUTING\r\n<https://github.com/ibmdb/python-ibmdbsa/tree/master/ibm_db_sa/contributing/CONTRIBUTING.md>`_.\r\n\r\n```\r\nThe developer sign-off should include the reference to the DCO in remarks(example below):\r\nDCO 1.1 Signed-off-by: Random J Developer <random@developer.org>\r\n```\r\n\r\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "SQLAlchemy support for IBM Data Servers",
"version": "0.4.1",
"project_urls": {
"Download": "https://github.com/ibmdb/python-ibmdbsa",
"Homepage": "http://pypi.python.org/pypi/ibm_db_sa/"
},
"split_keywords": [
"sqlalchemy",
"database",
"interface",
"ibm",
"data",
"servers",
"db2"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "63e60a0fd84928dd6a91a82a4b3dd8124837969b82fc2d07525155da0e5f1506",
"md5": "51aa2a985250f0e986a6e42b12b79a40",
"sha256": "49926ba9799e6ebd9ddd847141537c83d179ecf32fe24b7e997ac4614d3f616a"
},
"downloads": -1,
"filename": "ibm_db_sa-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "51aa2a985250f0e986a6e42b12b79a40",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 31173,
"upload_time": "2024-07-30T15:54:37",
"upload_time_iso_8601": "2024-07-30T15:54:37.361842Z",
"url": "https://files.pythonhosted.org/packages/63/e6/0a0fd84928dd6a91a82a4b3dd8124837969b82fc2d07525155da0e5f1506/ibm_db_sa-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4b93041fda7aba8d58e0d9cd059351b4fa84e9c0e3225b9564febdb8c22eba76",
"md5": "441a7c5459a3dd7e80dde6e85523e0c7",
"sha256": "a46df130a3681646490925cf4e1bca12b46283f71eea39b70b4f9a56e95341ac"
},
"downloads": -1,
"filename": "ibm_db_sa-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "441a7c5459a3dd7e80dde6e85523e0c7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32452,
"upload_time": "2024-07-30T15:54:39",
"upload_time_iso_8601": "2024-07-30T15:54:39.296311Z",
"url": "https://files.pythonhosted.org/packages/4b/93/041fda7aba8d58e0d9cd059351b4fa84e9c0e3225b9564febdb8c22eba76/ibm_db_sa-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-30 15:54:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ibmdb",
"github_project": "python-ibmdbsa",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ibm-db-sa"
}