当前位置: 网学 > 编程文档 > VB > 正文

利用VB.NET来读取ODBC数据源名

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

  在论坛中有人提出关于如何在.NET中读取ODBC数据源名的问题,不幸的是,在.NET Framework的类库中没有提供任何类或方法来实现它。然而,这有个简单的方法可以为它得到答案

  事实上,所有的ODBC数据源名都存放在Windows系统的注册表中。如果你知道注册表中正确的项值,你就可以通过.NET Framework类库提供的注册表类来读取该项值下的所有DSN列表。

  所有ODBC数据源名都存放在Windows注册表下的:LocalMachine\ODBC\ODBC.INI\ODBC Data Sources(系统DSN)和CurrentUser\Software\ODBC\ODBC.INI\ODBC Data Sources(用户DSN) 键值中。

  Imports Microsoft.Win32 ''''引用名字空间

  下面的源代码是演示读取ODBC DSN列表内容并加入到ListBox控件中。来测试这段代码,建立一个Windows 应用程式,添加一个ListBox控件到窗体表单中,并将ReadODBCDSNs方法加到程式代码中。然后,可用一个命令按钮的单或双击事件或用窗体的导入事件来引用这个方法。

Private Sub ReadODBCSNs()

Dim str As String
Dim rootKey As RegistryKey, subKey As RegistryKey
Dim dsnList() As String
rootKey = Registry.LocalMachine
str = "SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources"
subKey = rootKey.OpenSubKey(str)
dsnList = subKey.GetValueNames()
ListBox1.Items.Add("System DSNs")
ListBox1.Items.Add("================")
Dim dsnName As String

For Each dsnName In dsnList
ListBox1.Items.Add(dsnName)
Next
subKey.Close()

rootKey.Close()

''''Load User DSNs
rootKey = Registry.CurrentUser
str = "SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources"
subKey = rootKey.OpenSubKey(str)
dsnList = subKey.GetValueNames()

ListBox1.Items.Add("================")
ListBox1.Items.Add("UserDSNs")
ListBox1.Items.Add("================")

For Each dsnName In dsnList
ListBox1.Items.Add(dsnName)
Next
subKey.Close()

rootKey.Close()
End Sub

 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号