Я использую Oracle.ManagedDataAccess для запуска своего приложения. По сути, я протестировал SQL-код в SQL Developer и теперь хочу перенести его на .NET.
Предположим, у меня есть пользователь, у которого есть все права на запрос из другой схемы.
SELECT * FROM "SCHEMA"."TABLE"
SELECT * FROM schema.table
Все работают в Sql Developer под одним и тем же пользователем, но я получаю, что таблица или представление не существует в .NET.
Я также попробовал установить текущая схема с:
ALTER SESSION SET CURRENT_SCHEMA = schema
Сеанс изменения работает, потому что когда я пытаюсь его использовать и указываю имя таблицы без схемы, он говорит, что таблица или представление из Schema.table не существует.
>
Я вроде все перепробовал, моя строка подключения выглядит следующим образом:
User Id=other_user; Password=; Data Source=IP:PORT/SERVICENAME;
ОБНОВИТЬ фрагмент кода из C#
using (OracleConnection connection = new(_connectionString))
{
await connection.OpenAsync(cancellationToken);
OracleGlobalization info = connection.GetSessionInfo();
var sql2 = @"SELECT * FROM ""schema"".""table""";
using (OracleCommand cmd = new OracleCommand(sql2, connection))
{
cmd.ExecuteNonQuery();
}
}
And that throws the exception of table or view doesn't exists.
Подробнее здесь: https://stackoverflow.com/questions/787 ... l-develope