Изменить базу данных по умолчанию в oracle - PullRequest
0 голосов
/ 27 марта 2020

Я работаю над C# приложением Winform, и у меня есть запрос, который выбирает список таблиц, но в схеме, которую я перечисляю, нет ни одной таблицы в списке.

Этот запрос должен работать на SQL Сервер

ALTER LOGIN [my_user_name] WITH DEFAULT_DATABASE = [new_default_database]

. Есть ли такой запрос на oracle?

1 Ответ

0 голосов
/ 27 марта 2020

Нет, нет (насколько я могу судить).

(Примечание: то, что вы называете «базой данных» в MS SQL Сервер называется «пользователем» в Oracle, а «схема» = «пользователь + все его объекты») .

Решение? Подключитесь как пользователь, которому принадлежат используемые вами таблицы.

В качестве альтернативы, если у вас по каким-либо причинам (например, в целях безопасности) нет таких учетных данных (имя пользователя и пароль + база данных), вам необходимо получить доступ к этим объекты, как-то. Одним из вариантов является то, что владелец предоставляет (как минимум) select привилегию. Предположим, я владелец (user = "littlefoot"):

grant select on employees to kim;

("kim" - это пользователь, к которому вы можете подключиться).

Тогда перед именем таблицы будет указано имя владельца:

select * From littlefoot.employees;

Или вы можете создать синоним для всех этих таблиц, чтобы избежать указания имени владельца:

create synonym employees for littlefoot.employees;
select * from employees;

Или, если это действительно другая база данных, вам придется создать ссылку на базу данных, но это предполагает, что вы знаете учетные данные для входа, поэтому - я считаю, что это не ваш случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...