使用PowerShell连接到DB2
我正在尝试连接到DB2数据库并执行一些查询。几天前我让它工作,但现在它出现了一些非常奇怪的错误,我不知道为什么 PowerShell连接代码使用PowerShell连接到DB2,powershell,db2,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.D
$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_意外(0x8000FFFF)。”
有人知道为什么会这样吗
我还有其他脚本使用
Fill()
的方式完全相同,并且不会产生错误,所以这真的让我很困惑 好的,我已经弄明白了
您需要以管理员身份运行powershell才能使用DB2驱动程序。为什么会这样,我不知道,但我就是这样修好的 您需要将用户添加到
DB2Users
或DB2Admns
组中。本地管理员组也可以工作,但出于安全原因,其他两个组更合适。默认情况下,这些组通常在安装DB2的服务器上创建。它们是本地组。我想如果其他脚本使用相同的模式连接到同一个DB2实例,那么问题可能在于SQL查询。你能把它添加到问题中吗?我已经单独执行了查询,结果如下:/