gpt4 book ai didi

c# - Entity Framework 的 ODAC 输出格式错误的 SQL?

转载 作者:行者123 更新时间:2023-11-30 17:14:42 24 4
gpt4 key购买 nike

我一直在将一个系统从 MS SQL 迁移到 Oracle,并且在遇到这个问题之前或多或少没有遇到困难。

我最终从 oracle 得到的错误信息是:

ORA-06550: line 4, column 54:PL/SQL: ORA-00926: missing VALUES keywordORA-06550: line 4, column 1:PL/SQL: SQL Statement ignored

它仅在我执行复杂的 INSERT/UPDATE 时发生。也就是说,多个新的嵌套实体都在单个 .SaveChanges 调用中提交。我用于日志记录的简单 INSERT 语句工作得很好。

我对 oracle 很不熟悉,只是略知一二,但该错误消息似乎表明 Entity Framework 生成的 SQL 格式不正确。我在网上搜索过,但找不到其他人遇到过这个问题。

我在 VS2010、.NET4 和最新的 32 位 ODAC 11.2.0.2.50 Beta 3 上运行

在这种情况下,通常使用 MS SQL 我会启动 SQL 事件探查器并查看我的应用程序发送的查询,这样我就可以更好地指示问题,但我的 oracle dbas 告诉我有oracle 没有这样的工具。

有没有人遇到过这样的事情?

问候,克里斯

最佳答案

我设法解决了这个问题,以防其他人遇到它 - 我正在写入两个只包含一个 ID 列的表。由于某种原因为此生成的 P/SQL 正在写出

INSERT INTO "TABLE" default values
据我所知,这不是有效的 oracle 语句。为了暂时解决它,我只是添加了一个 META 列,以便我的 edmx 可以选择第二列,现在它可以正确生成语句。

关于c# - Entity Framework 的 ODAC 输出格式错误的 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8517151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com