I'm getting a very weird error. If I write my query using INNER JOIN, like below:
String query = @"SELECT *
FROM BKING CCVB
INNER JOIN SEM S ON CCVB.BKING_REQ_DTM BETWEEN S.ST_D AND S.END_D";
OracleCommand dbCommand = new OracleCommand(query, Connection);
OracleDataAdapter adapter = new OracleDataAdapter(dbCommand);
OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
The query fails with the following error message:
{Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00942: table or view does not exist
But when I change to cartesian join, it is fine:
String query = @"SELECT *
FROM BKING CCVB, SEM S
WHERE CCVB.BKING_REQ_DTM BETWEEN S.ST_D AND S.END_D";
OracleCommand dbCommand = new OracleCommand(query, Connection);
OracleDataAdapter adapter = new OracleDataAdapter(dbCommand);
OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
Any particular reason why it fails? And how to solve?
User contributions licensed under CC BY-SA 3.0