使用PowerShell连接到DB2(Connecting to DB2 using PowerSh

2019-10-17 03:30发布

我试图连接到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” 的说法(S): “没有可用的错误消息,结果代码:E_UNEXPECTED(0x8000FFFF)。”

这是为什么突然出现任何人有什么想法?

我有使用其他脚本Fill()中完全相同的方式在不产生错误,所以这实在是莫名其妙我!

Answer 1:

好吧,我想通了。

您需要运行的PowerShell作为管理员使用DB2驱动程序。 这是为什么,我不知道,但是这就是我定了!



Answer 2:

您需要将用户添加到DB2UsersDB2Admns组。 本地Administrators组的工作,但出于安全原因,其他两组是比较合适的。 这些团体通常默认创建的服务器上要安装DB2。 他们是本地组。



文章来源: Connecting to DB2 using PowerShell