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

凌源野鹤

凌源野鹤

2016-02-19 17:54

想要天天向上,就要懂得享受学习。图老师为大家推荐获取本机上配置好的Oracle服务名,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

          /*
          获取Oracle服务名
          1。查询注册表,获取oracle安装根目录
              如:HKEY_LOCAL_MACHINESOFTWAREORACLEORACLE_HOME   REG_SZ  E:ORACLEORA92
              得知oracle服务名文件所在地:根目录etworkADMINnsnames.ora
             
          2。解析该文件,该文件结构如
              # ------------------------------------------------
              PORTAL =
              (DESCRIPTION =
                  (ADDRESS_LIST =
                  (ADDRESS = (PROTOCOL = TCP)(HOST = 134.104.52.6)(PORT = 1521))
                  )
                  (CONNECT_DATA =
                  (SERVICE_NAME = portal)
                  )
              )

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

          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 + @"etworkADMINnsnames.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://m.tulaoshi.com/webkaifa/)

  http://www.cnblogs.com/surfsky/archive/2006/08/29/489682.html

展开更多 50%)
分享

猜你喜欢

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

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

如何获取本机IP?

公网ip
如何获取本机IP?

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Oracle 9i配置【管理服务器】

编程语言 网络编程
Oracle 9i配置【管理服务器】

Oracle Faq(Oracle TAF的配置)

Web开发
Oracle Faq(Oracle TAF的配置)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server 本机 Web 服务的使用方案

SQLServer
SQL Server 本机 Web 服务的使用方案

获取本机的本地上网IP地址

电脑网络
获取本机的本地上网IP地址

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

win10专业版怎么升级到企业版?

win10专业版怎么升级到企业版?

打开Excel出现stdole32.tlb的解决方法

打开Excel出现stdole32.tlb的解决方法
下拉加载更多内容 ↓