2010-01-22 88 views
1

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

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

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

+0

你有没有试过regexing连接字符串?或者,为连接字符串构建一个合适的解析器(这看起来很像扁平化的XML),并以此方式读取字符串。我不熟悉C#,但这将是一种跨平台/跨技术的方式来实现这一点。 – 2010-01-22 15:26:15

回答

1

可以查询v$database

SQL> SELECT NAME FROM v$database; 

NAME 
--------- 
PROD 
+0

并假设他无法连接到数据库?这个问题可以在没有网络连接的情况下解决,不是吗? – 2010-01-22 15:34:49