使用PowerShell连接到DB2

时间:2012-08-08 09:55:26

标签: powershell db2

我正在尝试连接到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

我看到的错误:

Exception calling "Fill" with "1" argument(s): "No error message available, result code: E_UNEXPECTED(0x8000FFFF)."

任何人都有任何想法为什么会出现这种情况?

我有其他脚本使用“填充”的方式完全相同,不会产生错误,所以这真让我感到困惑!

非常感谢!

2 个答案:

答案 0 :(得分:1)

好的,我已经明白了。

您需要以管理员身份运行powershell以使用DB2驱动程序。为什么会这样,我不知道,但这就是我修复它的方式!

答案 1 :(得分:0)

您需要将用户添加到DB2UsersDB2Admns组。本地Administrators组也可以工作,但出于安全考虑,其他两个组更合适。通常在您安装DB2的服务器上创建这些组。他们是当地团体。