1

我通过 C# 使用 IBM.Data.DB2 来访问我们大型机 Z/OS 上的 DB2 数据库。不幸的是,我收到“DB2 SQL 错误:SQLCODE=-551, SQLSTATE=42501, SQLERRMC=USER_NAME;EXECUTE PACKAGE;NULLID.SYSLH200, DRIVER=4.19.56”

当我尝试通过 IBM Data Studio 访问 DB2 数据库时收到相同的错误,但后来当我向我的用户授予对包 'NULLID.SYSLH200' 的执行权限时它开始工作,但我仍然从 IBM.Data.DB2 收到相同的错误通过 C# 代码。

我确保:

  • 列表项 我的用户对我正在执行查询的表具有执行权限
  • 列表项 我的用户对包 'NULLID.SYSLH200' 具有执行权限

关于我应该如何让它工作的任何想法?

4

1 回答 1

2

好吧,当我发布这个问题时,时刻发生了变化,我做了一些尝试并意识到我必须向我的用户授予对我收到错误的所有包的权限。这实际上解决了这个问题。

我们的主要困惑是,既然它与 DB2 的 .Net OLEDB 提供程序一起工作,那么它应该与 Data Studio 以及 IBM.Data.DB2 完美地工作,但看起来每个驱动程序都使用自己的一组 DB2 包来执行查询,并且取决于您使用的方法,您必须将所有这些包的权限授予您的用户。

于 2018-05-15T22:48:45.593 回答