我们正试图使用ADF(Azure data Factory(管道从DB2数据库(可在内部部署基础设施上使用(中查询样本数据。我们在本地基础设施的VM中托管了一个ADF SHIR(自托管集成运行时(。
我们已经为DB2数据库创建了一个链接服务和一个数据集。我们还创建了一个测试管道来测试与数据库的连接,并从其中一个表中提取样本数据。
使用测试管道,我们可以成功地测试到数据库的连接,但在尝试从表中查询样本数据时,我们面临以下错误,无法检索样本数据:
从驱动程序引发错误。Sql代码:"-805〃;找不到与SQL语句执行请求相对应的包。SQLSTATE=51002 SQLCODE=-805
查询Db2时,您的Db2用户(或其拥有的角色或组(需要BINDADD数据库权限来绑定ADF和Integration Runtime使用的包(MSCS001(。绑定包后,您可以撤消BINDDDD权限,因为绑定包会自动授予用户该包的BIND、CONTROL和EXECUTE权限。
例如
-
授予BINDALL:
GRANT BINDADD ON DATABASE TO USER username
-
运行查询,或通过ADF中的Db2数据集预览一些数据。
-
如果成功,您可以撤销特权:
REVOKE BINDADD ON DATABASE FROM USER username