Если вы входите в систему, используя другого пользователя в oracle, и хотите читать из таблицы другого пользователя, вам следует полностью указать имя таблицы. Если ваша таблица создана под пользователем с именем «TEST_USER», то запросите вашу таблицу как «Select * From TEST_USER.test»
Это работает для меня, когда вы вошли в систему под тем же именем пользователя, из которого была создана таблица:
private const string connString = "DATA SOURCE=//server:port/service_name;PASSWORD=pswd;USER ID=user_name;";
static void Main(string[] args)
{
OracleConnection conn = new OracleConnection(connString);
conn.Open();
OracleCommand cmd = new OracleCommand("select * from test", conn);
// This would also work if the username I used to login was "TEST_USER".
// OracleCommand cmd = new OracleCommand("select * from TEST_USER.test", conn);
cmd.ExecuteReader();
conn.Close();
}
Другая возможная проблема заключается в том, что вы назвали вашу таблицу строчными буквами как «Тест», вместо того, чтобы она называлась «ТЕСТ» в базе данных. В этом случае вам нужно сослаться на таблицу с кавычками вокруг нее:
static void Main(string[] args)
{
OracleConnection conn = new OracleConnection(connString);
conn.Open();
OracleCommand cmd = new OracleCommand("select * from \"Test\"", conn);
cmd.ExecuteReader();
conn.Close();
}
Или вы также можете переименовать вашу таблицу в oracle, если проблема связана с кейсом, и вы хотите решить ее следующим образом:
ALTER TABLE "Test" RENAME TO TEST;