Получить имя базы данных Oracle - PullRequest
1 голос
/ 22 января 2010

Как программно получить имя базы данных Oracle, к которой я подключаюсь? Я попробовал:

using (OracleConnection connection = new OracleConnection(oraConnectStr))
            {
                connection.Open();
                return connection.Database;
            }

но возвращает пустую строку. Я не могу использовать всю строку подключения, поскольку она может содержать имя пользователя / пароль.

Ответы [ 3 ]

6 голосов
/ 22 января 2010

Не каждый пользователь имеет доступ к представлениям V $. Но каждый может запустить это:

SQL> select * from global_name
  2  /

GLOBAL_NAME
---------------------------------------------------
ORCL

SQL>

редактировать

Если вы хотите решить это изнутри c #, эта статья показывает, как решить эту проблему через ConnectionString .

1 голос
/ 22 января 2010

вы можете запросить v$database:

SQL> SELECT NAME FROM v$database;

NAME
---------
PROD
0 голосов
/ 22 января 2010

Вы можете использовать объект OracleConnectionStringBuilder.

OracleConnectionStringBuilder connStrBuilder = новый OracleConnectionStringBuilder (oraConnectStr);

connStrBuilder.DataSource будет содержать вашу информацию.

Выезд: http://download.oracle.com/docs/html/E10927_01/OracleConnectionStringBuilderClass.htm#CHDHBCDA

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