.NET を使用したプログラムによる接続

.NET アプリケーションと Db2 データベース BLUDB との間の接続の定義

始める前に

データベースに接続するには、その前に以下のステップを実行する必要があります。
  • ドライバー・パッケージのインストール、ローカル環境の構成、SSL 証明書のダウンロード (必要な場合) を含む、前提条件を確認します。

  • ホスト名とポート番号などのデータベースの詳細や、ユーザー ID とパスワードなどの接続資格情報を含む、接続情報を収集します。

このタスクについて

以下のステップは、.NET を使用してアプリケーションをデータベースに接続する方法を示しています。

手順

  1. コマンド・プロンプトから、以下のコマンドを入力します。
    これらのコマンドは、コンピューター上のドライバー構成ファイル (db2dsdriver.cfg) に新規エントリーを作成し、接続属性を設定します。このステップは 1 回だけ実行する必要があります。
    • SSL を使用しない接続の場合:
      db2cli writecfg add -database BLUDB -host hostname -port 50000
      db2cli writecfg add -dsn alias -database BLUDB -host hostname -port 50000
      
    • SSL を使用する接続の場合:
      db2cli writecfg add -database BLUDB -host hostname -port 50001
      db2cli writecfg add -dsn alias -database BLUDB -host hostname -port 50001
      db2cli writecfg add -database BLUDB -host hostname -port 50001 -parameter "SecurityTransportMode=SSL"
      
    ここで、
    hostname
    サーバーのホスト名。
    alias
    .NET 接続を確立するために使用するエイリアスの名前。何を指すのかがわかる名前にしてください (例、analytics)。
  2. オプション: データベースへの .NET 接続を検証するには、コマンド・プロンプトから以下のコマンドを実行します。
     testconn40 "DATABASE=alias;UID=userid;PWD=password;"
    ここで、
    alias
    ステップ 1db2cli writecfg コマンドで作成したエイリアスの名前
    userid
    Db2 のユーザー ID。
    password
    Db2 データベースに接続するために使用するパスワード。

以下の構文は、.NET ドライバーを使用してデータベースへの接続を行うサンプルの C# コードです。
using System;
using IBM.Data.DB2;

namespace dotNetSSLTest
{
    class Program
    {
        static void Main(string[] args)
        {
            DB2Command MyDB2Command = null;
            // Use the dsn alias that you defined in db2dsdriver.cfg with the db2cli writecfg command in step 1.
            String MyDb2ConnectionString = "database=alias;uid=userid;pwd=password;"; 
            DB2Connection MyDb2Connection = new DB2Connection(MyDb2ConnectionString);
            MyDb2Connection.Open();
            MyDB2Command = MyDb2Connection.CreateCommand();
            MyDB2Command.CommandText = "SELECT branch_code, city from GOSALES.BRANCH";
            Console.WriteLine(MyDB2Command.CommandText);

            DB2DataReader MyDb2DataReader = null;
            MyDb2DataReader = MyDB2Command.ExecuteReader();
            Console.WriteLine("BRANCH\tCITY");
            Console.WriteLine("============================");
            while (MyDb2DataReader.Read())
            {
                for (int i = 0; i <= 1; i++)
                {
                    try
                    {
                        if (MyDb2DataReader.IsDBNull(i))
                        {
                            Console.Write("NULL");
                        }
                        else
                        {
                            Console.Write(MyDb2DataReader.GetString(i));
                        }
                    }
                    catch (Exception e)
                    {
                        Console.Write(e.ToString());
                    }
                    Console.Write("\t"); 

                }
                Console.WriteLine("");
            }
            MyDb2DataReader.Close();
            MyDB2Command.Dispose();
            MyDb2Connection.Close();
        }
    }
}