我有两个表,其中一个列的名称相同,最大长度为30。 当我在linq中使用这两个表的连接查询它时,实际生成的SQL(顺便说一下非常大)使用“AS”关键字来区分它们,称它们为{long_column_name} 1和{long_column_name} 2。
当发生这种情况时,别名实际上是31的长度导致ORA-00972错误:别名的标识符太长了!
这显然是SQL生成过程中的某种错误。
任何人都知道一个变通方法? 因为我无法重命名列,我现在所做的是创建没有这些列的两个视图,但这不是一个理想的解决方案。
答案 0 :(得分:0)
在我看来,你几乎得到了我建议的解决方案。不是创建省略列的视图,而是创建具有列的视图,但使用视图将这些列重命名为更短的列。
希望有所帮助。
答案 1 :(得分:0)
Here是Oracle数据提供商论坛,其中包含匹配的问题。它在链接中被确认为他们正在处理的内部错误。目前,他们说重命名表中的列,这对于大多数情况来说都不太理想。我会尝试映射到重命名的较短列的视图