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"
예외가 발생했습니다. "테이블 또는 뷰가 없습니다."
내 connectionstring에 데이터베이스 이름이 있어도이 예외가 있습니다.
아무도 내가 데이터베이스 이름없이 쿼리를 사용할 때 왜 위의 예외가 발생했는지 설명 할 수 있습니까?
내가 쿼리 사장님을 실행할 이거. query = "SELECT ORDERS.ID AS 내 필드 ID FROM ORDERS WHERE ROWNUM = 1"; –