获取Oracle数据库名称

时间:2010-01-22 15:24:19

标签: c# oracle

如何以编程方式获取我要连接的Oracle数据库的名称?我试过了:

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

但它返回空字符串。我无法使用整个连接字符串,因为它可能包含用户名/密码。

3 个答案:

答案 0 :(得分:6)

并非每个用户都可以访问V $视图。但每个人都可以这样做:

SQL> select * from global_name
  2  /

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

SQL>

修改

如果你想从c#,this article shows how to solve it through the ConnectionString内部解决这个问题。

答案 1 :(得分:1)

您可以查询v$database

SQL> SELECT NAME FROM v$database;

NAME
---------
PROD

答案 2 :(得分:0)

您可以使用OracleConnectionStringBuilder对象。

OracleConnectionStringBuilder connStrBuilder =       新的OracleConnectionStringBuilder(oraConnectStr);

connStrBuilder.DataSource将包含您的信息。

退房: http://download.oracle.com/docs/html/E10927_01/OracleConnectionStringBuilderClass.htm#CHDHBCDA