sql >> データベース >  >> RDS >> Database

DSNファイルとIRIソフトウェア

    DSN(データベースソース名)ファイルを使用すると、複数のユーザーがフラットファイルの情報を使用してデータベースに接続できます。これは、データベースクライアントプログラム(この場合はIRI Workbenchのソフトウェア)がデータベースに接続するために使用します。

    DSNファイルには、データソースの名前とディレクトリ、接続ドライバー、サーバーアドレス、ユーザーID、パスワードなどのプロパティが記述されています。これは、ODBCドライバーが、そのプロトコルをサポートするデータベースに接続するために使用します。通常、プレーンテキストとして保存されるDSNファイルは次の機能を提供します。

    1. 利便性–ローカルで接続を構成する必要がなくなります。
    2. 移植性–さまざまなユーザー間で共有でき、簡単に変更できます。
    3. セキュリティ–アクセスが制限されたGitなどのリポジトリに保存できます。

    以下の手順は、/ PROCESS =ODBCを使用してリレーショナルデータベースのデータを処理する場合に、IRIジョブスクリプト(CoSort SortCLなど)でDSNファイルを作成して使用する方法を示しています。

    ステップ1–クライアントとサーバー用のODBCドライバーを入手してインストールします

    DSNファイルを作成するには、データベースとそのサーバーに適切なODBCドライバーがあることを確認してください。例:Windows上のMySQL。この説明では、データベースとサーバーがローカルマシン上にあると想定しています。

    ステップ2–見つけて検査する odbcinst ini (コネクタ)ファイル

    いずれの場合も、ODBCドライバーライブラリとそれを参照するDSNファイル間のコネクタとして機能するodbcinst.iniファイルが必要です。このファイルには、DSNファイルに必要な場所/リンク情報が含まれています。

    私はWindows7PCでMySQLを実行しています。他のほとんどのオペレーティングシステムでは、これらの手順は異なる場合があり、さまざまな種類のサーバーへの接続方法を説明する検索で見つかった情報で変更できます。

    私のodbcinst.iniファイルはたまたまC:\Windowsにあります。見つからない場合は、odbcinst.iniファイルへの情報のインストールをサポートしていれば、選択したサーバーの公式サイトから入手できます。

    次のodbcinst.iniファイルは、MySQLがコネクタのインストールを使用して作成したものです。

    私の場合と同じ詳細を手動で入力することもできます:

    [MySQL ODBC 5.3 Unicode Driver (32 bit)]
    Driver=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5w.dll
    Setup=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5S.dll
    32Bit=1
    [MySQL ODBC 5.3 ANSI Driver (32 bit)]
    Driver=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5a.dll
    Setup=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5S.dll
    32Bit=1
    

    オペレーティングシステムはそれぞれ異なり、このファイルは複数の方法で設定できます。例として、Linux上のodbcinst.iniファイルにユーザーが次のように入力しました。

    [MySQL]
    Description = ODBC for MySQL
    Driver = /usr/lib/libmyodbc3.so
    Setup = /usr/lib/libodbcmyS.so
    FileUsage = 1
    

    コネクタファイルが適切に構成されたら、次の手順に進みます。

    ステップ3–DSNファイルを作成する

    この例では、忠実なクライアントを追跡するための名前と電話番号を含む「loyal」というテーブルを持つ「clients」というMySQLデータベースがあると想定しています。この例ではDSN変数を手動で入力しましたが、WindowsODBCアドミニストレータユーティリティは[ファイルDSN]タブからDSNファイルを作成できます。

    DSNファイルに必要な最小変数は次のとおりです。

    [ODBC]
    DRIVER=
    DATABASE=
    SERVER=
    

    DRIVER変数は、odbcinst.iniファイルから取得されます。上記のWindowsの例では、MySQL ODBC 5.3 Unicodeドライバー(32ビット)を入力します。

    DATABASEは、アクセスするデータベースの名前です。この場合は「クライアント」です。

    SERVERはデータベースの場所です。この場合、場所は「localhost」です(データベースはローカルマシン上にあるため)。

    完成したDSNファイルには次のものが含まれます。

    [ODBC]
    DRIVER=MySQL ODBC 5.3 Unicode Driver (32 bit)
    DATABASE=clients
    SERVER=localhost
    

    DRIVERの仕様は、odbcinst.iniファイルのドライバーに適用される括弧で囲まれたヘッダーのテキストと完全に一致する必要があることに注意してください。 DSNファイルには、実行可能ファイルがジョブ設計クライアントで実行されているか、本番/データベースサーバーで実行されているかに関係なく、データベースサーバー接続の詳細が含まれている必要があります。

    DSNファイルにはより多くの情報を含めることができます。この例では、追加される3つの行は、UID、PASSWORD、およびPORTです。 UIDは、サーバーにアクセスできる任意のユーザーIDです。ここで、UIDはrootで、PASSWORDは「mypassword」です。デフォルトのMySQLポートである3306を使用しました。

    更新されたDSNファイルには次のものが含まれます。

    [ODBC]
    DRIVER=MySQL ODBC 5.3 Unicode Driver
    DATABASE=clients
    SERVER=localhost
    UID=root
    PASSWORD=mypassword
    PORT=3306
    

    DSNファイルは、拡張子が.dsnの任意の名前で保存できるようになりました。 TEST.DSNを指定しました。

    / PROCESS =ODBCが指定され、入力または出力ファイル宣言に.DSNファイルと等しいFILEDSNパラメータセットが含まれている場合、すべてのIRIジョブスクリプト(NextFormおよびFieldShieldを含むCoSort SortCLプログラムに基づく)はDSNファイル情報を使用できます。

    このSortCLジョブスクリプトは、上記のDSNファイルを使用します。

    /INFILE="loyal;FILEDSN=C:\Users\LocalUser\Documents\Test.dsn;"
    /PROCESS=ODBC
    /ALIAS=loyal
    /FIELD=(NAME, TYPE=ASCII, POSITION=1, SEPARATOR="\t", EXT_FIELD="name", PRECISION=0)
    /FIELD=(PHONE, TYPE=ASCII, POSITION=2, SEPARATOR="\t", EXT_FIELD="phone", PRECISION=0)
    /REPORT
    /OUTFILE=stdout
    /PROCESS=RECORD
    /FIELD=(NAME, TYPE=ASCII, POSITION=1, SEPARATOR="\t", EXT_FIELD="name", PRECISION=0)
    /FIELD=(PHONE, TYPE=ASCII, POSITION=2, SEPARATOR="\t", EXT_FIELD="phone", PRECISION=0)
    

    上記の例が示すように、DSNファイルへの絶対パスを指定する必要があります。

    ファイルDSNは、他のすべてのODBC接続と同様に、データ接続レジストリに登録できます。 設定>データ接続レジストリ>追加に移動します 。 [ファイルDSN]を選択し、ファイルの場所を入力します。この接続は、Workbench全体のウィザードで使用できます。

    IRI Workbenchでのデータベース接続の登録に関するこの記事を参照し、ヘルプが必要な場合は[email protected]に連絡してください。


    1. SQLを使用して例外のあるORDERBY句を作成する方法

    2. MariaDBコンポジットの日付と時刻の単位の説明

    3. SQLServerの複数の列にチェック制約を作成する方法-SQLServer/TSQLチュートリアルパート84

    4. Oracleのフィールドデータが数値タイプであるかどうかの判断