3

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

我最终从 oracle 收到的错误消息是:

ORA-06550:第 4 行,第 54 列:PL/SQL:ORA-00926:缺少 VALUES 关键字 ORA-06550:第 4 行,第 1 列:PL/SQL:忽略 SQL 语句

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

我对 oracle 很不熟悉,只是学习了一些技巧,但是该错误消息似乎表明 Entity Framework 生成的 SQL 格式不正确。我在网上搜索过,但找不到遇到此问题的其他人。

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

通常在这种情况下使用 MS SQL,我会启动 SQL 分析器并查看我的应用程序发送的查询,以便更好地指示问题,但我的 oracle dbas 告诉我没有这样的工具为甲骨文。

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

问候,克里斯

4

1 回答 1

2

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

插入“表”默认值
据我所知,这不是一个有效的 oracle 声明。为了暂时解决这个问题,我刚刚添加了一个 META 列,这样我的 edmx 就会选择第二个列,现在它会正确生成语句。

于 2012-01-04T09:18:12.993 回答