ドライバー・パッケージを使用したプログラムによる接続
Db2 Warehouse on Cloud ドライバー・パッケージには、クライアント・アプリケーションを Db2 Warehouse on Cloud データベースに接続するためのソフトウェアが含まれています。
JDBC
Java™ アプリケーションと Db2 Warehouse on Cloud データベースの間の接続を定義します。
前提条件
Db2 Warehouse on Cloud データベースへの接続を試行する前に、前提条件を満たしていることを確認します。
手順
各 Java アプリケーションで、DriverManager.getConnection メソッドを組み込んでユーザー ID とパスワードを指定し、次のいずれかの JDBC URL ストリングを組み込みます。
-
SSL を使用する接続の場合:
jdbc:db2://<host_name>:50001/BLUDB:sslConnection=true;
-
SSL を使用しない接続の場合:
jdbc:db2://<host_name>:50000/BLUDB
.NET
.NET アプリケーションと Db2 Warehouse on Cloud データベースの間の接続を定義します。
前提条件
Db2 Warehouse on Cloud データベースへの接続を試行する前に、前提条件を満たしていることを確認します。
手順
以下のステップは、.NET を使用してアプリケーションをデータベースに接続する方法を示しています。
-
コマンド・プロンプトから、以下のコマンドを入力します。 これらのコマンドは、コンピューター上のドライバー構成ファイル (
db2dsdriver.cfg
) に新規エントリーを作成し、接続属性を設定します。 このステップは 1 回だけ実行する必要があります。-
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 接続を確立するために使用する DSN 別名の名前。 何を指すのかがわかる名前にしてください (例、analytics
)。 -
SSL を使用しない接続の場合:
db2cli writecfg add -database BLUDB -host <hostname> -port 50000
db2cli writecfg add -dsn <alias> -database BLUDB -host <hostname> -port 50000
-
-
(オプション): データベースへの .NET 接続を検証するには、コマンド・プロンプトから以下のコマンドを実行します。
testconn40 "DATABASE=<alias>;UID=<user_id>;PWD=<password>;"
ここで、
<alias>
: ステップ 1 で db2cli writecfg コマンドを使用して作成した DSN 別名の名前。<user_id>
: Db2 Warehouse on Cloud のユーザー ID。<password>
: Db2 Warehouse on Cloud データベースに接続するために使用するパスワード。
例
以下の構文は、.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();
}
}
}
ODBC または CLI
Microsoft Windows ODBC または CLI アプリケーションと Db2 Warehouse on Cloud データベースの間の接続を定義します。
前提条件
Db2 Warehouse on Cloud データベースへの接続を試行する前に、前提条件を満たしていることを確認します。
手順
-
Linux オペレーティング・システムのコマンド・シェル、Windows コマンド・プロンプト、または Windows オペレーティング・システムの Db2 コマンド・ウィンドウに、以下のコマンドを入力します。
注: これらのコマンドは、コンピューター上のドライバー構成ファイル (
db2dsdriver.cfg
) に新規エントリーを作成し、接続属性を設定します。 このステップは 1 回だけ実行する必要があります。-
SSL を使用する接続の場合:
db2cli writecfg add -database BLUDB -host <hostname> -port 50001 -parameter "SecurityTransportMode=SSL"
db2cli writecfg add -dsn <alias> -database BLUDB -host <hostname> -port 50001
-
SSL を使用しない接続の場合:
db2cli writecfg add -database BLUDB -host <hostname> -port 50000
db2cli writecfg add -dsn <alias> -database BLUDB -host <hostname> -port 50000
ここで、
<hostname>
: サーバーのホスト名。<alias>
: 選択した DSN 別名。 -
-
(オプション): データベースへの接続をテストするには、コマンド・プロンプトから次のコマンドを実行します。
db2cli validate -dsn <alias> -connect -user <user_id> -passwd <password>
ここで、
<alias>
は、db2cli writecfg コマンドを使用して作成した DSN 別名です。<user_id>
は、事前に収集した接続資格情報からのものです。<password>
は、事前に収集した接続資格情報からのものです。 -
(オプション): Microsoft ODBC ドライバー・マネージャーにデータ・ソース名 (DSN) を登録し、Microsoft ODBC アプリケーションと連携させるには、次のコマンドを実行します。 デフォルトでは、DSN はユーザー DSN として作成されます。
db2cli registerdsn -add -dsn <alias>
ここで、
<alias>
は、db2cli writecfg コマンドを使用して作成した DSN 別名です。
ODBC データ ソース アドミニストレータ
Microsoft ODBC データ ソース アドミニストレータ・ツールを使用して、ODBC または CLI アプリケーションと Db2 Warehouse on Cloud データベース間の接続を定義します。
前提条件
Db2 Warehouse on Cloud データベースへの接続を試行する前に、前提条件を満たしていることを確認します。
手順
-
Db2 ドライバー・パッケージをインストールします。
-
ODBC データ ソース アドミニストレータを開いて、Db2 ドライバー・パッケージのユーザー DSN またはシステム DSN を作成します。
-
**「詳細設定」**をクリックします。 ホスト名、ポート、データベースの CLI パラメーターに Db2 Warehouse on Cloud サーバーの値を入力します。
-
SSL 接続の場合は、CLI パラメーター Security を、値
SSL
を指定して入力します。 -
**「適用」**をクリックします。
-
接続をテストするには、ODBC データ ソース アドミニストレータのメインページに戻ります。 作成した DSN で**「構成」をクリックします。 サーバーのユーザー ID とパスワードを入力し、「接続」**をクリックします。
PHP
PHP アプリケーションと Db2 Warehouse on Cloud データベースの間の接続を定義します。
前提条件
Db2 Warehouse on Cloud データベースへの接続を試行する前に、前提条件を満たしていることを確認します。
手順
シナリオ 1: IBM Cloud の外部からの接続:
-
Web コンソールから Db2 ドライバー・パッケージをダウンロードして、PHP アプリケーションが実行されるマシンにドライバー・パッケージをインストールします。
-
odbc_connect
関数 を使用して、BLUDB データベースに接続します。次に PHP コードの例を示します。
<?php $database = "BLUDB"; # Get these database details from $hostname = "<Host-name>"; # the web console $user = "<User-ID >"; # $password = "<Password>"; # $port = 50000; # $ssl_port = 50001; # # Build the connection string # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;"; $ssl_dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$ssl_port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;" . "SECURITY=SSL;"; $conn_string = $driver . $dsn; # Non-SSL $conn_string = $driver . $ssl_dsn; # SSL # Connect # $conn = odbc_connect( $conn_string, "", "" ); if( $conn ) { echo "Connection succeeded."; # Disconnect # odbc_close( $conn ); } else { echo "Connection failed."; } ?>
この PHP コードの例を
C:\sample.php
と呼ばれるスクリプト・ファイルに保存してから、スクリプトをコマンド・ラインから実行すると、以下の出力が作成されます。C:\> php –f sample.php Connection succeeded.
シナリオ 2: IBM Cloud での PHP Web アプリからの接続
-
IBM Cloud カタログから、新しい PHP アプリを作成します。
-
IBM Cloud ダッシュボード内の新しい PHP アプリの「開始」セクションから、アプリのスターター・コードをローカル作業ディレクトリーにダウンロードします。
-
IBM Cloud ダッシュボードで、Db2 サービスから新しい PHP アプリへの新しい接続を作成します。 (IBM Cloud でこの接続を作成すると、PHP アプリに
VCAP_SERVICES
環境変数を使用できるようになります。VCAP_SERVICES
環境変数には、Db2 サービスに関するデータベースの詳細が含まれています。VCAP_SERVICES
を使用する方が、PHP アプリ内でデータベースの詳細をハードコーディングするよりも便利です。) -
ローカル作業ディレクトリーで、
db2_connect
関数を使用して BLUDB データベースに接続するようにindex.php
ファイルを更新します。以下に例を示します。
<!DOCTYPE html> <html> <head> <title>PHP Starter Application</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="style.css" /> </head> <body> <?php if( getenv( "VCAP_SERVICES" ) ) { # Get database details from the VCAP_SERVICES environment variable # # *This can only work if you have used the Bluemix dashboard to # create a connection from your dashDB service to your PHP App. # $details = json_decode( getenv( "VCAP_SERVICES" ), true ); $dsn = $details [ "dashDB" ][0][ "credentials" ][ "dsn" ]; $ssl_dsn = $details [ "dashDB" ][0][ "credentials" ][ "ssldsn" ]; # Build the connection string # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $conn_string = $driver . $dsn; # Non-SSL $conn_string = $driver . $ssl_dsn; # SSL $conn = db2_connect( $conn_string, "", "" ); if( $conn ) { echo "<p>Connection succeeded.</p>"; db2_close( $conn ); } else { echo "<p>Connection failed.</p>"; } } else { echo "<p>No credentials.</p>"; } ?> </body> </html>
-
ローカル作業ディレクトリーから、IBM Cloud ダッシュボード内の PHP アプリの「開始」セクションの指示に従って、更新内容を IBM Cloud にプッシュします。 その後、IBM Cloud 内でアプリを再始動し、ブラウザーでアプリを表示します。