ODBC
ODBC(Open Database Connectivity) は、PlaidLinkエージェントが動作しているマシンのODBC設定を通じて、データベースに接続します。PlaidCloudに専用のコネクタがないデータベースに対して、Agent Remote Export of SQL Resultステップなどのエージェントステップから使用します。作成するには、接続タイプとしてODBCを選択します。
ODBC接続は、次の2つの方法のいずれかで動作します。
- DSN経由。 ODBCドライバーを空白にして、エージェントのマシンに設定したデータソース(DSN)を指定します。DSNにはドライバー、サーバー、データベース、その他のドライバー設定が含まれ、接続属性でそれらを上書きできます。この方法は、あらゆるODBCドライバーで使用できます。
- ドライバー経由。 エージェントのマシンにインストールされているODBCドライバーを選択または入力してから、サーバーとデータベースを指定します。PlaidCloudは、ドライバーに
Server設定とDatabase設定を渡し、続けて接続属性を渡します。この方法は、MicrosoftのSQL Serverドライバーで使用できます。リストに候補として表示される他のドライバーを含め、それ以外のドライバーではDSNを使用してください。
上流のドキュメント
Section titled “上流のドキュメント”各データベースのODBCドライバーには、それぞれ固有の設定があります。DSNを作成するときも接続属性を記述するときも、ドライバーが受け付けるキーワードについては、ドライバーベンダーのドキュメントを参照してください。
エージェントのマシンでDSNを作成する
Section titled “エージェントのマシンでDSNを作成する”エージェントがどのアカウントで実行されていてもDSNを見つけられるように、エージェントが動作しているマシンで、システムDSNとしてDSNを設定します。
Windowsの場合
Section titled “Windowsの場合”- ODBC Data Sources (64-bit) を開きます。
- System DSNタブで、データベースのODBCドライバーを使用するデータソースを追加し、サーバー、データベース、およびドライバーが要求するその他の設定を入力します。
- データソース名を控えておきます。接続に入力します。
Linuxの場合
Section titled “Linuxの場合”Linuxでは、エージェントはunixODBC経由でODBCに接続します。
-
unixODBCと、データベースのODBCドライバーをインストールします。
-
ドライバーが
odbcinst.iniに、角かっこで囲まれた名前で登録されていることを確認します。ほとんどのドライバーパッケージは、インストール時に自動的に登録されます。odbcinst -q -dで登録済みのドライバーを一覧表示できます。 -
システムの
odbc.iniに、DSNの名前を付けたセクションとしてデータソースを追加します。Driverには登録済みのドライバー名を設定し、サーバー、データベース、およびドライバーが要求するその他の設定を追加します。[Sales]Driver=ODBC Driver 18 for SQL ServerServer=sales-db.example.comDatabase=Sales -
セクション名(ここでは
Sales)を控えておきます。接続に入力します。
odbcinst -jを実行すると、システムのodbcinst.iniとodbc.iniの場所が表示されます。通常は/etcです。ユーザー自身の~/.odbc.iniにあるDSNは、エージェントがそのユーザーとして動作している場合にのみ見つかります。
コンテナーの場合
Section titled “コンテナーの場合”PlaidLinkのコンテナーイメージにはunixODBCが含まれていますが、ODBCドライバーは含まれていません。DockerまたはKubernetesで動作するエージェントからODBCを使用するには、このイメージをベースにドライバーをインストールしたイメージをビルドし、DSNを記述したシステムのodbc.iniをイメージに追加するか、コンテナーにマウントします。イメージはplaidユーザーとして動作するため、ドライバーのインストール時はrootに切り替え、完了後にplaidに戻します。
データベース接続
Section titled “データベース接続”| フィールド | 必須 | 説明 |
|---|---|---|
| ODBCドライバー | いいえ | DSN経由で接続する場合は空白にします。それ以外の場合は、エージェントのマシンにインストールされているODBCドライバーの名前を、そのマシンに登録されているとおりに指定します。WindowsではODBC Data Sources (64-bit) のDriversタブに表示される名前、Linuxではodbcinst.iniのセクション名です。リストには一般的なドライバーが表示され、それ以外のドライバーは入力できます。ここで動作するのは、MicrosoftのSQL Serverドライバーのみです。リストに表示される他のドライバーを含め、それ以外のドライバーでは、空白のままDSNを使用してください。ドライバー名に波かっこやセミコロンを含めることはできません。 |
| データソース名(DSN)またはサーバー | はい | ドライバーを指定しない場合は、エージェントのマシンにあるシステムDSNの名前。ドライバーを指定する場合は、データベースサーバーのホスト名。デフォルト以外のポートを使うSQL Serverの場合はhost,port。 |
| データベース | ドライバー指定時 | 開くデータベース。DSNが独自のデータベースを指定するため、ドライバーを指定しない場合は使用できず、ドライバーなしでデータベースを指定すると保存が拒否されます。 |
| 接続属性 | いいえ | ドライバーに渡すその他の設定。;で区切ったKEY=value形式のペアで指定します。接続属性を参照してください。 |
接続にポートフィールドはありません。デフォルト以外のポートを使うSQL Serverの場合は、MicrosoftのSQL Serverドライバーにポートのキーワードがないため、サーバーにhost,portの形式でポートを追加します。DSNを使う場合は、DSNでポートを設定するか、ポートを受け付けるドライバーであればPORT=5433のような属性で上書きします。
接続属性は、どちらのモードでも、ODBCの記法のままODBC設定をドライバーに渡します。
- ドライバーを指定する場合、接続自身の設定の後ろに追加されます。読み取り専用レプリカに接続するための
ApplicationIntent=ReadOnlyなど、ドライバーが必要とするその他の設定に使用します。 - DSNを使う場合、DSN自身の設定を上書きします。たとえば
PORT=5433や、IBM iのデフォルトライブラリを指定するDBQ=MYLIBです。
ペアはEncrypt=yes;ApplicationIntent=ReadOnlyのように;で区切ります。;を含む値はKEY={first;second}のように波かっこで囲み、波かっこの内側では}を}}と書きます。キーワードは大文字でドライバーに渡されます。ODBCのキーワードは大文字と小文字を区別しません。
次の場合、保存が拒否されます。
KEY=value形式のペアではないテキスト(閉じられていない波かっこや、値のないキーワードを含む)。- 大文字と小文字を問わず、同じキーワードが複数回指定されている場合。
- 接続が自身のフィールドから設定するキーワード:
DRIVER、DSN、SERVER、DATABASE、UID、PWD、USER、USERID、USERNAME、PASSWORD。 FILEDSNとSAVEFILE。エージェントがマシン上のファイルから接続設定を読み取ったり、ファイルに書き込んだりすることになるためです。
ドライバーが独自の資格情報キーワードを受け付ける可能性があるため、接続の一覧では属性がマスクされます。接続自身のフォームには表示されます。属性を削除するには、フィールドを空にします。ユーザーとパスワードは認証情報に入力します。
| フィールド | 説明 |
|---|---|
| ユーザー | 接続に使用するユーザー。DSN経由の場合、空白にするとDSNの設定どおりにサインインします。SQL Serverの場合は、属性にTRUSTED_CONNECTION=Yesを追加すると、エージェント自身のアカウントでサインインします。SQL Serverドライバーでユーザーを指定しない場合、接続はエージェント自身のアカウント(Windowsアカウント、またはLinuxではKerberosチケット)でサインインします。 |
| シングルサインオン認証を使用(パスワードなし、ユーザーは任意) | 保存済みのパスワードなしで接続します。 |
| パスワード | ユーザーのパスワード(書き込み専用)。編集時に空白のままにすると、保存済みのパスワードが維持されます。 |
SSL構成とSSH構成
Section titled “SSL構成とSSH構成”これらのタブは、ODBC接続には適用されません。暗号化やその他のドライバーオプションは、DSNまたは接続属性で設定してください。
以前のバージョンで保存された接続
Section titled “以前のバージョンで保存された接続”以前のバージョンのこのフォームでは、データベースと固定リストから選択したドライバーが必須で、ポートも自動的に入力されていましたが、ドライバーは渡されなかったため、それらの接続は接続できませんでした。接続を開いて、次のいずれかを行います。
- DSN経由で接続する: ODBCドライバーをクリアし、DSNを入力して保存します。保存すると、以前のデータベースがクリアされます。
- SQL Serverドライバー経由で接続する: ODBCドライバーが、エージェントのマシンにインストールされているSQL Serverドライバーと一致していることを確認します。以前のリストにあった名前の多くは、ドライバーが登録する名前ではありませんでした。
以前のリストのドライバーが残っている接続は、ドライバー接続として開きます。ドライバーが、エージェントのマシンにインストールされているSQL Serverドライバーになるまで、接続は失敗します。それ以外のデータベースには、DSNで接続してください。
保存すると、以前のポートもクリアされます。DSNのみでデータベースがなかった接続は、ODBCドライバーが空白の状態で開きます。