SQL Server 2019 上的 PolyBase:IBM DB2 外部表

PolyBase on SQL Server 2019: IBM DB2 External tables

我需要使来自 DB2 10.5 数据库的数据在启用 PolyBase 的 SQL Server 2019 实例上作为外部 table 可用,运行 遇到问题...

在 DB2 11.1 版中,IBM 添加了 LIMIT 子句 (LIMIT) 在 DB2 版本 10.5 中,IBM 仍在使用 FETCH 子句(仅 FETCH 第一行)

SQL 服务器未将 T-SQL TOP 子句转换为 LIMIT 而不是此数据库所需的 FETCH。

有没有人运行以前处理过这个问题?如果是这样,有人对此限制有解决方法吗?

如果您可以控制 Db2 服务器(或可以请求对其进行更改),则可以使用 Db2 compatibility feature

设置注册表变量DB2_COMPATIBILITY_VECTOR:

db2set DB2_COMPATIBILITY_VECTOR=MYS

并重启实例。它将使 Db2 识别 LIMITOFFSET 子句。仅设置此位不应影响 Db2 服务器的其他行为。