【发布时间】:2018-06-07 03:04:52
【问题描述】:
我试图通过 ODBC 驱动程序从 Oracle 数据库中获取具有最高记录的表。为此,我使用以下代码。
OdbcConnectionStringBuilder builder = new OdbcConnectionStringBuilder();
builder.ConnectionString = "Driver={Oracle in OraClient11g_home1};Dbq=localhost;Uid=system;Pwd=abc;Database = NORTHWIND";
OdbcConnection con = new OdbcConnection();
con.ConnectionString = builder.ConnectionString;
con.Open();
string query = "SELECT \"NORTHWIND\".\"ORDERS\".\"ID\" AS \"My field id\" FROM \"NORTHWIND\".\"ORDERS\" WHERE ROWNUM = 1";
OdbcCommand cmd = new OdbcCommand(query,con);
var k = cmd.ExecuteReader();
var datatable = new DataTable();
datatable.Load(k);
con.Close();
上面的代码对我来说工作正常。我需要执行没有数据库名称的查询。这里的数据库名称是 NORTHWIND。但是如果我使用没有数据库名称的查询,例如"SELECT \"ORDERS\".\"ID\" AS \"My field id\" FROM \"ORDERS\" WHERE ROWNUM = 1"
我遇到了一个异常“表或视图不存在。”
即使我的连接字符串有数据库名称,我也会遇到这个异常。
谁能解释我为什么在使用没有数据库名称的查询时出现上述异常?
【问题讨论】:
-
我想执行这样的查询。 query = "SELECT ORDERS.ID AS My field id FROM ORDERS WHERE ROWNUM = 1";
标签: c# database oracle oracle11g odbc