Connecting to IBM Db2 from Domino
Python and ibm_db2
Domino recommends the ibm_db2 package for interacting with Db2 databases from Python.
Environment setup
Use the Dockerfile instruction below to add ibm_db to your environment.
This instruction assumes you already have pip installed.
RUN pip install ibm_db ibm_db_sa
For a basic introduction to modifying Domino environments, watch this tutorial video.
Credential setup
There are several environment variables you should set up to store secure information about your Db2 connection. Set the following as Domino environment variables on your user account:
- db_username
- db_password
Read Environment variables for secure credential storage to learn more about Domino environment variables.
Usage
Read the ibm_db for detailed information on how to use the package. Below is a simple example for connecting to Db2 with ibm_db where:
- you have set up environment variables noted above with the `` db_username`` and db_password
- you've replaced 'my.host.name' with the host name for your machine
import ibm_db import ibm_db_dbi import pandas as pd hostname = 'my.host.name' port = 50001 username = os.environ['db_username'] password = os.environ['db_password'] def query_db(sql): ibm_db_conn = ibm_db.connect("DATABASE=IBMPROD;HOSTNAME={};PORT={};PROTOCOL=TCPIP;UID={};PWD={};".format(hostname, port, username, password), "", "") conn = ibm_db_dbi.Connection(ibm_db_conn) df = pd.read_sql_query(sql, conn) ibm_db.close(ibm_db_conn) return df sql_cmd = """ SELECT * FROM table """ df_cmd = query_db(sql_cmd) df_cmd
Further reading: IBM database server in Python
R and ibmdbR
Domino recommends the imbdbR library for interacting with db2 databases from R.
Environment setup
Use the Dockerfile instruction below to add ibmdbR to your environment.
RUN R -e 'install.packages("ibmdbR")'
For a basic introduction to modifying Domino environments, watch this tutorial video.
Usage
Read the imbdbR documentation for detailed information on how to use the package.
Comments
0 comments
Please sign in to leave a comment.