0

DB2 データベースに接続していくつかのクエリを実行しようとしています。数日前は動作していましたが、今では本当に奇妙なエラーが発生しており、その理由がわかりません。

PowerShell 接続コード

$connection = New-Object System.Data.OleDb.OleDbConnection("Provider=IBMDADB2;Database=X;HostName=X;Protocol=TCPIP;Port=X;Uid=X;Pwd=X;CurrentSchema=X");
$ds = New-Object "System.Data.DataSet"  

$da = New-Object System.Data.OleDb.OleDbDataAdapter($QuerySQL, $connection)
$da.Fill($ds)

$ds.Tables[0].Rows |
    select * -ExcludeProperty RowError, RowState, HasErrors, Name, Table, ItemArray |
    Export-Csv "c:\Scripts\results.csv" -encoding "unicode" -notype

私が見ているエラー:

"1" 個の引数を指定して "Fill" を呼び出し中に例外が発生しました: "利用可能なエラー メッセージはありません。結果コード: E_UNEXPECTED(0x8000FFFF)"。

なぜこれが発生しているのか、誰にも分かりますか?

Fill()まったく同じ方法で使用し、エラーを生成しない他のスクリプトを持っているので、これは本当に困惑しています!

4

2 に答える 2

1

わかりました、私はそれを理解しました。

DB2 ドライバーを使用するには、powershell を管理者として実行する必要があります。これがなぜなのかわかりませんが、それが私がそれを修正した方法です!

于 2012-08-08T13:44:00.967 に答える
0

DB2UsersまたはDB2Admnsグループにユーザーを追加する必要があります。ローカルの Administrators グループも機能しますが、セキュリティ上の理由から、他の 2 つのグループの方が適切です。これらのグループは通常、DB2 をインストールするサーバー上にデフォルトで作成されます。彼らは地元のグループです。

于 2014-05-02T18:16:56.297 に答える