/*
获取Oracle服务名
1.查询,获取oracle安装根目录
如:HKEY_LOCAL_MACHINESOFTWAREORACLEORACLE_HOME REG_SZ E:ORACLEORA92
了解oracle服务名文件驻:根目录networkADMINtnsnames.ora
2。解析该文件,该文件结构如
#------------------------------------------------
门户=
(描述=
(地址列表=
(地址 =(协议 = TCP)(主机 = 134.104.52.6)(端口 = 1521))
)
(连接数据=
(SERVICE_NAME = 门户)
)
)
3。解析要点:
一行获取再解析
跳过以#打头的注释行
过滤掉空格后,首字符在A~z之间的行就包含了Oracle服务名
截取该行第一个“=”号左边的字符串,修剪处理后就是Oracle服务命名了
*/
公共静态字符串[] GetOracleTnsNames()
{
尝试
{
// 查询,获取oracle服务文件路径
RegistryKey key =Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ORACLE");
字符串 home = (string)key.GetValue("ORACLE_HOME");
字符串文件 = home + @"networkADMINtnsnames.ora";
// 解析文件
串线;
ArrayList arr = new ArrayList();
StreamReader sr = new StreamReader(文件);
while ((line = sr.ReadLine()) != null)
{
线=线.Trim();
如果(行!=“”)
{
字符c=行[0];
if ( c>= 'A' && c<='z')
arr.Add(line.Substring(0, line.IndexOf(' ')));
}
}
关闭();
// 返回字符串仓库
return (string[])arr.ToArray(typeof(string));
}
catch(异常前)
{
返回空值;
}
http://www.cnblogs.com/surfsky/archive/2006/08/29/489682.html