0
Help us understand the problem. What are the problem?

posted at

updated at

Re:DashでIBM Cloud Db2 に接続してみた

初めに

オープンソースのBIツールであるRe:Dashから、IBM Cloud のDb2に接続してみた内容になっています。

Re:Dash では、標準でDb2の接続機能を持っています。
ただし、IBM CloudのDb2には、SSL接続する必要がありますが、標準でSSL接続には対応していないため、ソースコードの変更が必要になります。

※注意
投稿時の内容のため、バージョンアップ等で変わる可能性があります。また当内容を実施した結果の責任は負えませんので、ご了承ください。

ソースの変更

/redash/query_runner/db2.py の「configuration_schema」と「_get_connection」メソッドをを以下のように変更します。

    def configuration_schema(cls):
        return {
            "type": "object",
            "properties": {
                "user": {"type": "string"},
                "password": {"type": "string"},
                "host": {"type": "string", "default": "127.0.0.1"},
                "port": {"type": "number", "default": 50000},
                "dbname": {"type": "string", "title": "Database Name"},
         "sslcert": {"type": "string", "title": "SSL Certification"}
            },
            "order": ["host", "port", "user", "password", "dbname"],
            "required": ["dbname"],
            "secret": ["password"],
        }

    def _get_connection(self):
        self.connection_string = ""DATABASE={};HOSTNAME={};PORT={};PROTOCOL=TCPIP;UID={};PWD={};Security=Ssl;SSLServerCertificate={};".format(
            self.configuration["dbname"],
            self.configuration["host"],
            self.configuration["port"],
            self.configuration["user"],
            self.configuration["password"],
      self.configuration["sslcert"]
        )
        connection = ibm_db_dbi.connect(self.connection_string, "", "")

        return connection

Redashでの接続設定

ソースを変更後、Re:Dashを起動し、下記図のDb2接続設定画面で、接続に必要な情報を入力します。
「SSL Certification」には、証明書のパスを指定します。(事前にIBM Cloudから証明書のファイルをダウンロードして、Re:Dashを動かすサーバーに配置しておいてください)

image.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?