/*
取得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