Linq DB2V8 for z/OS中的交叉连接
我使用的是IBMDB2V8(新功能模式),我使用的是EntityFramework 5.0.0 我有一个在我的环境中完美执行的LINQ查询,但它在另一个环境中不起作用。我试图通过调试代码来提取为该LINQ查询生成的SQL查询。我尝试在我的环境(DB2DBV9.1和DB2Driver10.5)中执行该SQL,它运行良好。对于同一个查询,它在我的另一个环境中不起作用:DB2DBV8(新函数模式)和DB2Driver9.7。它为Linq DB2V8 for z/OS中的交叉连接,linq,db2,entity-framework-5,mainframe,Linq,Db2,Entity Framework 5,Mainframe,我使用的是IBMDB2V8(新功能模式),我使用的是EntityFramework 5.0.0 我有一个在我的环境中完美执行的LINQ查询,但它在另一个环境中不起作用。我试图通过调试代码来提取为该LINQ查询生成的SQL查询。我尝试在我的环境(DB2DBV9.1和DB2Driver10.5)中执行该SQL,它运行良好。对于同一个查询,它在我的另一个环境中不起作用:DB2DBV8(新函数模式)和DB2Driver9.7。它为“交叉”连接提供了一个错误。当我使用LINQ时,查询是自动生成的,我无法更
“交叉”连接提供了一个错误。当我使用LINQ时,查询是自动生成的,我无法更改。我也想在我的第二个环境中运行。下面我给出了我的示例查询。请告诉我是否有办法解决这个问题
SELECT t1.MyName, t2.MySalary
FROM Employee t1 CROSS JOIN Salary t2
我得到了以下错误:
非法符号“十字架”。某些可能合法的符号为:。
SQLCODE=-104,SQLSTATE=42601
V8不支持交叉连接
子句。从手册中:
V8:
联接表
>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
| '-| outer |-' |
'-(--joined-table--)--------------------------------------------------------'
>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
| '-| outer |-' |
+-table-reference--CROSS JOIN--table-reference------------------------------+
'-(--joined-table--)--------------------------------------------------------'
>-+-table reference-->--+--JOIN--table reference--ON--JOIN条件-+-><
|“-|外部|-”|
“-(-联接表--)------------------------------------------------------------”
V9.5:
联接表
>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
| '-| outer |-' |
'-(--joined-table--)--------------------------------------------------------'
>>-+-table-reference--+-----------+--JOIN--table-reference--ON--join-condition-+-><
| '-| outer |-' |
+-table-reference--CROSS JOIN--table-reference------------------------------+
'-(--joined-table--)--------------------------------------------------------'
>-+-table reference-->--+--JOIN--table reference--ON--JOIN条件-+-><
|“-|外部|-”
+-表引用--交叉连接--表引用-----------------------------------------+
“-(-联接表--)------------------------------------------------------------”
注意较新版本中新的交叉连接
子句。另一方面,V8不再受支持,您真的应该切换到更新的版本;-)
HTH.OP显然在生产中使用DB2 for z/OS,其中的交叉连接
语法直到版本10才可用。我无法理解为什么要在完全不同的平台上测试应用程序。啊,sry,错过了问题的z/OS部分。我的链接是给卢的。谢谢你的评论!