- PR -

ADSI+ADO 環境下で、ADODB.CommandのExecuteに時間がかかる(処理が遅い)

1
投稿者投稿内容
kazuhi6
会議室デビュー日: 2005/10/28
投稿数: 5
投稿日時: 2005-11-01 12:41
いつもお世話になっております。kazuhi6です。
早速ですが、1つ質問がありますので、宜しくお願いします。

【環境】
サーバ:Windows2000Server or Windows2003Server
クライアント:Windows2000Pro
開発言語:VB.NET

【内容】
現在、あるシステムを開発しており、Active Directory内のユーザを取得するようなプログラムを作成しております。ADへ接続する際は、下記のプログラムで接続を行っております。
ここで問題になっているのが、CommandをExecuteするときに、処理時間がかかってしまうという現象(処理時間は約15秒)です。ADに登録しているユーザは数件しかないので、ユーザ件数の影響ではないと思います。あと、考えられるのはサーバの設定等の影響なのでしょうが、いろいろ調べてみても、解決策が一向に見当たりません。
どなたか、本件について何か良い方法をご存知であれば、是非ご教授願いたいと思います。
※ADODBは、「Microsoft ActiveX Data Objects 2.8 Library」を参照設定しております。

【プログラム】
Dim objConnect As New ADODB.Connection
Dim objCmd As New ADODB.Command
Dim objRecord As ADODB.Recordset

objConnect.Provider = "ADsDSOObject"
objConnect.Open()
objCmd.ActiveConnection = objConnect
objCmd.CommandText = "SELECT cn,AdsPath _
FROM 'LDAP://MyPC/DC=test,DC=com' _
WHERE objectCategory = 'User' _
AND sAMAccountName = 'demo01'"

objRecord = objCmd.Execute '<= ここの処理が遅い(15秒くらいかかる)
1

スキルアップ/キャリアアップ(JOB@IT)