USER MANUALS


ADO.NET データプロバイダー経由でのアクセス

ADO.Net データプロバイダーは、使用するデータベースに依存しないアプリケーションを開発するためのソフトウェアコンポーネントです。

Virtual DataPort は、 .Net Data Provider for PostgreSQL バージョン 2.0 と互換性があります。推奨バージョンは、2.0.12、2.2.0、2.2.3、および 2.2.7 です (NPGSQL のリポジトリ からダウンロードできます)。

NPGSQL のバージョン 3.x は、部分的にサポートされています。SELECT、INSERT、UPDATE、および DELETE のクエリを実行できますが、Virtual DataPort データベースのビューを検査することはできません。

アプリケーションから、以下のことができます。

  1. NpgsqlConnection クラスの新しいオブジェクトを作成し、コネクション文字列をコンストラクターに渡します。これは、 <DENODO_HOME>/samples/vdp/vdp-clients-ADO.NET/Program.cs の例の処理と同じです。

  2. ADO.Net プロバイダーをグローバルの machine.config ファイルまたはアプリケーションの .config ファイルに定義し、アプリケーションから Npgsql ファクトリへのコネクションをリクエストして適切なコネクション文字列を設定します。このオプションにより、使用しているデータベースに依存しないコードを記述できます。

プロバイダー定義が指定された app.config ファイルの例
 <?xml version="1.0" encoding="iso-8859-1" ?>
 <configuration>
     <system.data>
         <DbProviderFactories>
             <add name="Npgsql Data Provider" invariant="Npgsql" support="FF"
                  description="ADO.Net Data Provider to Denodo"
                  type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
         </DbProviderFactories>
     </system.data>
 </configuration>
Virtual DataPort に接続するための ConnectionString の例
string connectionString = "Server=acme;" +
     "Port=9996;" +
     "Username=admin;" +
     "Password=admin;" + "Database=admin" +
     "CommandTimeout=80000";

データベースの名前に非 ASCII 文字が含まれている場合、これらを URL エンコードする必要があります。たとえば、データベースの名前が「テスト」の場合、 Database プロパティを %E3%83%86%E3%82%B9%E3%83%88 に設定します。

コネクションのデフォルトのクエリタイムアウトは、 CommandTimeout パラメータで設定されています (時間はミリ秒単位)。このコネクションでは、タイムアウトは 80 秒です。

コネクションのロケールの値は、コネクション文字列の Database パラメータで設定されます。このプロパティとそのデフォルト値については、「 ODBC ドライバーのパラメータとそのデフォルト値 」を参照してください。

通信を保護するために Virtual DataPort サーバーで SSL/TLS が有効になっている場合、次のパラメータを ConnectionString に追加します。

"SSL=True;Sslmode=Require"

ConnectionString のパラメータのリストについては、http://www.npgsql.org/doc/connection-string-parameters.html のページを参照してください。

Add feedback