我在DB2中创建了一个用户定义的表值函数,该函数接受两个参数并返回一个表。
从 IBM i Access Client解决方案(版本:1.1.7.1内部版本:7290)中调用UDTVF >> 运行SQL脚本可以很好地返回结果表:< / p>
-- SELECT *
-- FROM TABLE(<library>.<udtvf>(<param. 1>,<Param. 2>)) AS ResultsTable
SELECT *
FROM TABLE(DPLIB06.FISMOSLSWAR(1,2017)) AS ResultsTable
我定义了一个指向DB2的ODBC DSN。该DSN可以很好地用作MS Excel,Crystal Reports等中的数据连接,并且到目前为止,即使在某些非常复杂的查询中也可以正常工作。
当我尝试通过MS查询编辑器将上述查询添加到Excel工作表时,收到以下警告/错误消息:
SQL Query can't be represented graphically. Continue anyway?
对此警告没什么大不了的:我总是单击确定,生活仍在继续... 但后来我得到了
Could not add the table 'TABLE(DPLIB06.FISMOSLSWAR(1'.
所以...有人可以给我语法从Microsoft Excel调用DB2用户定义的表值函数(带有两个参数)吗?
答案 0 :(得分:1)
这是一个可行的解决方案:
使用“ MS查询编辑器”输入一个简单查询:
SELECT 'A' FROM SYSIBM.SYSDUMMY1
关闭编辑器,将结果返回到Excel
从Excel 数据>>连接菜单中选择您的连接,并显示其属性。在定义中,将命令文本替换为引用UDTVF的查询