CLPPlus での LDAP サポート

CLPPlus 接続は構成済み LDAP ディレクトリー・サーバーでの DSN 別名検索をサポートするようになりました。

説明

IBM® データ・サーバー・ドライバー構成ファイルにない DSN 別名を指定した場合、CLPPlus インターフェースは DSN 別名を解決するために、IBM データ・サーバー・ドライバー構成ファイルで指定された LDAP ディレクトリー・サーバーへの接続を試みます。 CLPPlus インターフェースは LDAP ディレクトリー・サーバーで DSN 別名を検索し、DSN 項目からホスト名、ポート番号、ユーザー ID、パスワードといった必須の接続詳細を使用して接続を行います。 LDAP ディレクトリー・サーバーで一致が検出されない場合、または LDAP ディレクトリー・サーバーへの接続に失敗した場合は、対話式の接続で DSN 別名がデータベース名として扱われます。

LDAP サポートを有効にするには、IBM データ・サーバー・ドライバー構成ファイルの <ldapserver> セクションを使用して、LDAP ディレクトリー・サーバーの情報を指定します。 IBM データ・サーバー・ドライバー構成ファイルに指定できる LDAP ディレクトリー・サーバー項目は 1 つだけです。 <ldapserver> セクション内の UserID フィールドと Password フィールドの指定はオプションです。ユーザー ID とパスワードの情報は実行時に入力できます。 ユーザー ID とパスワードの情報は、CLPPlus セッション中にキャッシュに入れられます。

IBM データ・サーバー・ドライバー構成ファイルで UserID パラメーターを "*anonymous" に設定すると、LDAP ディレクトリー・サーバーへの匿名接続が試行され、ユーザー ID とパスワードの情報は渡されません。 パスワードの入力を求めるプロンプトは出されません。また、IBM データ・サーバー・ドライバー構成ファイルに Password パラメーターを設定した場合、そのパラメーターは無視されます。
重要:
UserID パラメーターを "*anonymous" に設定する場合、匿名接続をサポートするように LDAP ディレクトリー・サーバーを構成する必要があります。

以下のサンプルの IBM データ・サーバー・ドライバー構成ファイルを考えます。
<configuration>
	<dsncollection>
		<dsn alias="alias1" name="name1" host="server1.net1.com" port="50001"/>
	</dsncollection>

	<databases>

		<database name="name1" host="server1.net1.com" port="50001">
			<parameter name="CurrentSchema" value="OWNER1"/>
			<wlb>
				<parameter name="enableWLB" value="true"/>
				<parameter name="maxTransports" value="50"/>
			</wlb>
			<acr>
				<parameter name="enableACR" value="true"/>
			</acr>
		</database>

	</databases>

	<ldapserver>
		<parameter name="EnableLDAP" value="YES"/>
		<parameter name="LDAPServerHost" value="ipv6lab7.torolab.ibm.com"/>
		<parameter name="LDAPServerPort" value="389"/>
		<parameter name="UserID" value="root"/>
		<parameter name="Password" value="itdsv23"/>
		<parameter name="BaseDN" value="O=IBM"/>
		<parameter name="Authentication" value="simple"/>
	</ldapserver>
</configuration>
次の例では、サンプルの IBM データ・サーバー・ドライバー構成ファイルを使用して DSN 別名 DBLDAP1 に接続します。 IBM データ・サーバー・ドライバー構成ファイルに DBLDAP1 DSN 別名が見つからないので、LDAP ディレクトリー・サーバー ipv6lab7.torolab.ibm 上で DSN 別名項目が検索されます。 LDAP ディレクトリー・サーバー上で検出された DBLDAP1 DSN 別名から、ホスト、ポート、およびデータベースの情報が取得され、接続が確立されます。
SQL> connect
Enter DATABASE NAME [SAMPLE]: DBLDAP1
Enter ID : db2admin
Enter password: ********

以下の変更されたバージョンの IBM データ・サーバー・ドライバー構成ファイルを考えます。 この IBM データ・サーバー・ドライバー構成ファイルには、LDAP ディレクトリー・サーバー構成の UserID パラメーターと Password パラメーターが含まれていません。 LDAP ディレクトリー・サーバー ipv6lab7.torolab.ibm が指定されています。

<configuration>
	<dsncollection>
		<dsn alias="alias1" name="name1" host="server1.net1.com" port="50001"/>
	</dsncollection>

	<databases>

		<database name="name1" host="server1.net1.com" port="50001">
			<parameter name="CurrentSchema" value="OWNER1"/>
			<wlb>
				<parameter name="enableWLB" value="true"/>
				<parameter name="maxTransports" value="50"/>
			</wlb>
			<acr>
				<parameter name="enableACR" value="true"/>
			</acr>
		</database>

	</databases>

	<ldapserver>
		<parameter name="EnableLDAP" value="YES"/>
		<parameter name="LDAPServerHost" value="ipv6lab7.torolab.ibm.com"/>
		<parameter name="LDAPServerPort" value="389"/>
		<parameter name="BaseDN" value="O=IBM"/>
		<parameter name="Authentication" value="simple"/>
	</ldapserver>
</configuration>
更新された IBM データ・サーバー・ドライバー構成ファイルを使用して、別名 SAMPLE32 への接続が試行されます。 IBM データ・サーバー・ドライバー構成ファイル内に別名が見つかりません。 次の例に示すように、LDAP ディレクトリー・サーバーに対するユーザー ID とパスワードが対話式に入力されると、CLPPlus インターフェースは ipv6lab7.torolab.ibm LDAP ディレクトリー・サーバーに接続します。LDAP ディレクトリー・サーバーで SAMPLE32 DSN 別名の検索に成功し、ホスト、ポート、およびデータベースの情報が取得されます。 LDAP サーバーから取得されたデータベース情報を使用して CLPPlus 接続が確立されます。 以下の例では、CLPPlus セッションは VERBOSE モードで実行されていません。
C:¥Documents and Settings>clpplus /@SAMPLE32

CLPPlus: Version 1.4
Copyright (c) 2009, 2011, IBM CORPORATION.  All rights reserved.

Connecting to LDAP server '9.234.67.89:389'.
Enter LDAP server user ID: root
Enter LDAP server password: ********

Enter password: **********