Oracle / ADO.NET - ORA:00904从C#调用时出现“无效标识符”错误

时间:2013-04-29 16:01:52

标签: c# .net sql oracle ado.net

我正在尝试使用ADO.NET从oracle数据库执行bog-standard select语句,并获取以下内容:

Oracle.DataAccess.Client.OracleException : ORA-00904: : invalid identifier

ADO代码如下所示:

conn.Open();

var command = new OracleCommand(sql) {Connection = conn};

var result = command.ExecuteReader();

//do stuff with result

并且sql语句是

select pt.*
from print_table pt
left join business_table bt on bt.transaction_id = pt.transaction_id

两列都是number(10)。如果我直接在数据库上执行相同的sql,那很好。

如果我放弃了加入:

select pt.*
from print_table pt

从ADO运行,它可以工作。

此外,如果我将sql更改为

select pt.*
from print_table pt, business_table bt
where pt.transaction_id = bt.transaction_id (+)

从ADO运行,它可以工作。我宁愿不使用它(实际上查询还有很多)。

并且,如果我选择命名值,那么:

select pt.column1, pt.column2, pt.column3
from print_table pt
left join business_table bt on bt.transaction_id = pt.transaction_id

这再次,工作正常。

非常欢迎任何建议。

0 个答案:

没有答案