我想用C#写代码列出ORACLE客户端注册的服务名,
现已找到了保存ORACLE客户端注册的服务名的文件,
文件路径为…\oracle\ora92\network\admin\tnsnames.ora
格式为文本文件,形式如下:
# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.MMSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ora9)
(SERVER = DEDICATED)
)
)GISFENG_WUZF =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wuzf)(PORT = 1521))
)
(CONNECT_DATA =
(SID = gisfeng)
(SERVER = DEDICATED)
)
)
现在只想获得服务名(MMSERVER,GISFENG_WUZF),不知道用哪种方式写好一点。希望探讨一下,有分送的哦!
现已找到了保存ORACLE客户端注册的服务名的文件,
文件路径为…\oracle\ora92\network\admin\tnsnames.ora
格式为文本文件,形式如下:
# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.MMSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ora9)
(SERVER = DEDICATED)
)
)GISFENG_WUZF =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wuzf)(PORT = 1521))
)
(CONNECT_DATA =
(SID = gisfeng)
(SERVER = DEDICATED)
)
)
现在只想获得服务名(MMSERVER,GISFENG_WUZF),不知道用哪种方式写好一点。希望探讨一下,有分送的哦!
解决方案 »
- .net链接oracle数据库下面SQL语句的问题
- 请问sqldr怎么导不进数据?
- 求sql语句,group by语句中查询多个字段内容。
- 商务智能的未来
- 大神们.你们的分析函数,排行函数.以及SQL高级写法.是从哪里知晓的啊
- 求Oracle存储过程替代 start with connect by的方法(100俸上)
- 一个关于dblink插入的奇葩问题,在线求高人
- 急,在线等待:怎样在存储过程中写动态创建表和触发器的脚本?
- 紧急求救!
- 求大神帮忙解决oracle12c关于无法从该产品清单读取主目录列表 的问题。
- oracle中建表时定义主键和字段非空的sql语句是什么?
- 使用sqlload如何取得带小数位的数据?
{
string strTxt="";
string rStr="";
StreamReader sr=File.OpenText("D:\\oracle\\ora92\\network\\admin\\tnsnames.ora");
string tempStr;
while((tempStr=sr.ReadLine())!= null)
{
strTxt=strTxt + tempStr + "\n";
} int k=0;
for (int i=0;i<strTxt.Length;i++)
{
string c=strTxt.Substring(i,1);
if (c.Equals("#"))
{
while(!c.Equals("\n"))
{
i=i+1;
c=strTxt.Substring(i,1);
}
}
if(c.Equals("("))
{
k=k+1;
}
if (k==0 && !c.Equals("\n") && !c.Equals(" "))
{
rStr=rStr+c;
}
if(c.Equals(")"))
{
k=k-1;
}
}
rStr=rStr.Remove(rStr.Length-1,1);
this.comboBox1.DataSource=rStr.Split('=');
}