当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  获取本机上配置好的Oracle服务名

 获取本机上配置好的Oracle服务名

点击次数:25 次 发布日期:2008-11-26 12:28:56 作者:源代码网
源代码网推荐     
源代码网推荐   /*
源代码网推荐   获取Oracle服务名
源代码网推荐   1。查询注册表,获取oracle安装根目录
源代码网推荐   如:HKEY_LOCAL_MACHINESOFTWAREORACLEORACLE_HOME REG_SZ E:ORACLEORA92
源代码网推荐   得知oracle服务名文件所在地:根目录 etworkADMIN nsnames.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 + @" etworkADMIN nsnames.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;
源代码网推荐   }
源代码网推荐   }
源代码网推荐  
源代码网推荐  http://www.cnblogs.com/surfsky/archive/2006/08/29/489682.html
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华