用C#得到Oracle配置的连接串

来源:互联网 发布:java使用高德地图api 编辑:程序博客网 时间:2024/05/22 14:34
我们以前用C#开发的程序,连接Oracle时的连接串都是手工输入的,现在我想稍微修改一下这个功能,能让用户选择连接串就好了(像PL/SQL一样)。
下面是程序代码:
using System.IO;
using Microsoft.Win32;
......
//此处省略其他的using

//下面的代码片断可以放在form_load事件里

//声明一个注册表项对象,使其打开LocalMachine主项
RegistryKey HKEY=Registry.LocalMachine;

//声明另外一个注册表项对象,使其打开Oracle所用到的项
RegistryKey OracleSubKey=HKEY.OpenSubKey("Software//oracle",false);

//然后用GetValue方法,得到Oracle安装文件夹的路径
string tnsFileName=OracleSubKey.GetValue("ORACLE_HOME").ToString();

//得到Oracle连接串配置文件的绝对地址
tnsFileName+="//network//ADMIN//tnsnames.ora";

//声明一个StreamReader对象,打开这个配置文件
StreamReader fin=new StreamReader(tnsFileName);
string Content;
Content=fin.ReadLine(); //从配置文件里读一行数据
while(Content!=null) //执行循环,直到读取的内容为null,退出循环
{
//再读一行,因为配置文件里前两行都是注释,所以不加限制的读取3行是没有问题的
Content=fin.ReadLine();

//判断读取的内容是不是符合条件。
//由于&&判断是骤死式判断,所以当&&前的判断不成立时,后面的判断就不进行了。
//所以按照这个顺序写,是不会出错的。
//如果把Content!=null放到if判断的第二条,那么程序就会出错(因为当读到文件尾的时候,Content会等于null)
if(Content!=null && Content.Length!=0 && Content[0]!=' ' && Content[0]!='#')
{
comName.Items.Add(Content.Substring(0,Content.Length-2)); //向一个ComboBox里添加数据
}
}
fin.Close();
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
原创粉丝点击