网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  三步获取本机上配置完毕的Oracle服务名     
  文章作者:未知  文章来源:未知  
  查看:208次  录入:管理员--2007-08-05  
   

获取Oracle服务名

1。查询注册表,获取oracle安装根目录

如:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME REG_SZ E:\ORACLE\ORA92

得知oracle服务名文件所在地:根目录

\network\ADMIN\tnsnames.ora

2。解析该文件,该文件结构如

# ---------------------------------------------
   PORTAL = 
   (DESCRIPTION = 
   (ADDRESS_LIST = 
   (ADDRESS = (PROTOCOL = TCP)(HOST = 134.104.52.6)(PORT = 1521)) 
   ) 
   (CONNECT_DATA = 
   (SERVICE_NAME = portal) 
   ) 
   )

3。解析要点:

一行一行获取再解析

跳过以#打头的注释行

过滤掉空格后,首字符在A~z之间的行就包含了Oracle服务名

截取该行第一个“=”号左边的字符串,trim处理后就是Oracle服务名了

*/ 
   public static string[] GetOracleTnsNames() 
   { 
   try 
   { 
   // 查询注册表,获取oracle服务文件路径 
   RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("ORACLE"); 
   string home = (string)key.GetValue("ORACLE_HOME"); 
   string file = home + @"\network\ADMIN\tnsnames.ora"; 
   
   // 解析文件 
   string line; 
   ArrayList arr = new ArrayList(); 
   StreamReader sr = new StreamReader(file); 
   while ((line = sr.ReadLine()) != null) 
   { 
   line = line.Trim(); 
   if (line != "") 
   { 
   char c = line[0]; 
   if ( c>= 'A' && c<='z') 
   arr.Add(line.Substring(0, line.IndexOf(' '))); 
   } 
   } 
   sr.Close(); 
   
   // 返回字符串数组 
   return (string[])arr.ToArray(typeof(string)); 
   } 
   catch (Exception ex) 
   { 
   return null; 
   } 
   }
 
 
上一篇: 深入了解 Oracle 10g 中新型层次查询选项    下一篇: 初学Oracle最经常碰到的错误及解决方案
  相关文档
oracle 数据库唯一约束中的null的处理 09-05
轻松掌握Oracle数据库的存取控制 09-29
了解oracle体系结构前必须掌握的两个概念 (1) 04-23
三步教会你掌握oracle外表(external table) 08-18
快速掌握解决ora-00844错误的实用方法 03-07
带你深入了解oracle中几个相对特殊的函数 01-31
oracle的window服务启动时并不启动实例 03-04
在oracle数据库中移动数据文件的具体方法 08-04
oracle数据字典与动态性能表的相关概念 04-24
怎样选择适合的Oracle优化器 09-29
oracle data的一个常见问题计算时间差 01-28
教你通过任务和管道异步调用存储过程 04-11
在Oracle下开发Java程序的经典问题解答 09-01
如何用组来保证"oracle"数据库的安全 01-29
使用oracle功能特性提高应用执行效率 (1) 04-15
正确认识oracle peeking绑定变量的控制 01-24
讲解sql server定时作业job的设置方法 07-28
Oracle 容灾复制解决方案分析Shar Plex 06-17
轻松掌握Oracle中事务管理的概念 09-29
如何在oracle中释放flash_recovery_area (1) 05-05
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息