使用 .NET 以程式設計方式連接

定義 .Net 應用程式與 Db2 資料庫 BLUDB 之間的連線。

開始之前

您必須先執行下列步驟,才能連接至資料庫:
  • 驗證必要條件,包括安裝驅動程式套件、配置區域環境,以及下載 SSL 憑證(必要的話)

  • 收集連接資訊,包括資料庫詳細資料(例如主機名稱及埠號)以及連接認證(例如使用者 ID 及密碼)

關於這項作業

下列步驟顯示如何使用 .NET 將您的應用程式連接至資料庫。

程序

  1. 從命令提示字元中,輸入下列指令。
    這些指令會在電腦的驅動程式配置檔 (db2dsdriver.cfg) 中建立新項目,並設定連線屬性。您只需執行此步驟一次。
    • 若為不使用 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
    在步驟 1 中您使用 db2cli writecfg 指令所建立的別名
    userid
    您的 Db2 使用者 ID。
    password
    您用來連接至 Db2 資料庫的密碼。

範例

下列語法所顯示的範例 C# 程式碼使用 .NET 驅動程式來建立與資料庫的連線。
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();
            6MyDb2Connection.Close();
        }
    }
}