データベース別名の追加と削除

 A5:SQL Mk-2にデータベースを追加するには、スピードボタンをクリックするか、メニューの[データベース(D)]-[データベース別名の追加と削除(D)...]を選択します。


 この画面で、データベースの「追加」・「修正」・「削除」を行うことができます。

 データベースは一覧形式で登録されますが、「データベースツリーでデータベース名を「/」で区切って階層構造で表示する」をチェックすると仮想的に階層構造を持って管理できます。

 「32bit ODBCシステムデータソースを列挙する」をチェックすると自動的に32bit ODBCシステムデータソースがデータベースツリーに表示されるようになります。

 「32bit ODBCユーザーデータソースを列挙する」をチェックすると自動的に32bit ODBCユーザーデータソースがデータベースツリーに表示されるようになります。
※64bit editionでは、「32bit…」は「64bit…」となります。


 「追加(A)」ボタンを押下すると以下のような画面が出て、データベースの種類を選択することが出来ます。

 どの種類で接続すればよいかは以下のように選択して下さい。

  • ADO (OLE DB, ODBC)
     OLE DBデータプロバイダ, ODBCドライバを利用してデータベースに接続します。
     汎用的に接続出来ますが、MySQL Connector/ODBCは利用することが出来ません。
     32bit editionでは、32bit OLE DBデータプロバイダ, ODBCドライバに、64bit editionでは、64bit OLE DBデータプロバイダ, ODBCドライバに接続することが出来ます。

  • Oracle
     Oracle Databaseに接続する際に用います。OCI経由又は直接接続の2種類の方法が選べます。

     ADO (OLE DB, ODBC)を利用するより高速に動作できます。

     利用するクライアントコンピュータにOracleクライアントがインストールされていない場合は直接接続を利用する必要があります。

     動作速度は、OCI経由が最も高速で、直接接続もやや高速に動作します。ADO (OLE DB, ODBC)はそれほど高速には動作しません。

     また、直接接続を利用した場合はUnicodeのサロゲートペア文字が正しく扱えないので注意が必要です。

  • PostgreSQL
     PostgreSQL Databaseに接続する際に用います。直接接続で接続出来ます。

     ADO (OLE DB, ODBC)を利用するより高速に動作できます。

     また、直接接続を利用した場合はUnicodeのサロゲートペア文字が正しく扱えないので注意が必要です。

  • MySQL
     MySQLに接続する際に用います。

     制限としてUnicodeのサロゲートペア文字が正しく扱えないので注意が必要です。


    SSH2トンネル経由での接続

    A5:SQL Mk-2ではOracle(直接接続)・PostgreSQL・MySQLに限り、SSH2トンネル経由での接続ができます。DBサーバーでデータベースのポートが解放されていないが、SSH2のポートが解放されている場合などに利用できます。



    上記はPostgreSQLの際の設定画面です。

    SSH2トンネル経由で接続する際には登録画面から、「SSH2トンネル」タブを選択して「SSH2トンネル経由で接続する」をチェックします。必要項目を入力することでSSH2トンネル経由で接続できます。

    必要項目は以下の通りです。
    SSH2ホスト名SSH2のホスト名またはIPアドレスを指定します。DBサーバーと同一でなくとも限りません。
    ポート番号SSH2のホストでのポート番号を指定します。デフォルトでは22番です。
    ユーザーIDSSH2のユーザーIDを指定します。多くの場合、DBのユーザーとは異なります。
    パスワード認証
    or
    鍵ファイル認証
    どちらかを選択します。
    パスフレーズ鍵ファイル認証のとき、鍵ファイルのパスフレーズを入力します。
    秘密鍵ファイル鍵ファイル認証のとき、秘密鍵ファイルを指定します。
    対応するファイル形式は Open SSH・Sec SH・PuTTY形式です。
    PuTTY形式を利用するときは、オプション画面から、PLINK.exeの位置を指定してください。
    パスワードパスワード認証のとき、ユーザーIDに対するパスワードを指定します。

    注意
    SSH2トンネル使用時は、「基本」タブの「サーバー名」は、SSH2サーバーから見たサーバー名を指定する必要があります。SSH2サーバーとDBサーバーが同一である場合は、「localhost」を指定してください。SSH2サーバーとDBサーバーが異なる場合でも、クライアントから指定できるサーバー名やIPアドレスでで参照できないことがある可能性に注意してください。

    MySQL を利用される方はご一読下さい。

     MySQLに接続するために、プロプライエタリアプリケーションからMySQL Connector/ODBC(GPLのMySQL用ODBCドライバ)を使うと、Oracle社(の旧MySQL AB部門)ではこれをGPL違反と判断するようです。むしろ、プロプライエタリアプリケーションからの接続を禁止するために、MySQL Connector/ODBCはLGPLではなくGPLとなっているようです。(かつてLGPLでしたがGPLへ変更された経緯を持ちます。)

     調査したところOracle社ではGPLのライブラリコードが実行時に動的リンクであってもプロプライエタリアプリケーションと同じメモリ空間に読み込まれる場合、そのプロプライエタリアプリケーションはGPLライブラリコードと結合されているため派生物であると見なしてGPL違反であると判断するようです。

     さらにはMySQL Connector/ODBCでいうと、MySQL Connector/ODBCドライバの利用時ではなく、MySQL Connector/ODBCを利用可能となるプロプライエタリアプリケーションを公開した時点でGPL違反とするようです。

     この考え方が妥当であるかどうかは本質的に法律の問題を含み、国ごとに司法に判断をゆだねなければなりませんが、この問題を回避するためA5:SQL Mk-2はOracle社の著作物を含まないMySQL向けの直接接続クライアントライブラリを内蔵することとしました。
     
     
     ※ここではプロプライエタリアプリケーションとはオープンソースソフトウェアでない全てのプログラムを指します。このため、無償であっても A5:SQL Mk-2はプロプライエタリアプリケーションとして分類されます。  

    関連項目

    データベースの接続
    データベースの接続解除