说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何动态新增、移除 ODBC DSN?

HTML文档下载 WORD文档下载 PDF文档下载
VB如何动态新增、移除 ODBC DSN?
版本:VB6 / VB5 / VB4-32

一般我们建立 Client 端 DSN 都是在使用者的机器上进入【控制面板】【ODBC 数据源(32位)】去建立,但是如果我们开发的 APP 使用者很多时,这就有点累人了,所以我们可以將这个动作放在程序中!

新增 DSN 的方法有二种:
1、使用 DBEngine 控件的 RegisterDatabase 方法
2、呼叫 SQLConfigDataSource API

不管使用以上任何一种方法新增 DSN,一共会写入二个地方,一个是注册表,一个是 ODBC.INI。

而刪除 DSN 的方法同上面的第二种方法,呼叫 SQLConfigDataSource API。

以下之模块以 Oracle73 Ver 2.5 为例,在 Form 的声明区中加入以下声明及模块:

Private Const ODBC_ADD_DSN = 1 ' Add data source
Private Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Private Const ODBC_REMOVE_DSN = 3 ' Remove data source
Private Const vbAPINull As Long = 0& ' NULL Pointer

Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _
(ByVal hwndParent As Long, ByVal fRequest As Long, _
ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long

Public Sub CreateDSN(sDSN As String)
Dim nRet As Long
Dim sDriver As String
Dim sAttributes As String
sDriver = "Oracle73 Ver 2.5"
sAttributes = "Server=Oracle8" & Chr$(0)
sAttributes = sAttributes & "DESCRIPTION=" & sDSN & Chr$(0)
'sAttributes = sAttributes & "DSN=" & sDSN & Chr$(0)
sAttributes = sAttributes & "DATABASE=DBFinance" & Chr$(0)
sAttributes = sAttributes & "Userid=Scott" & Chr$(0)
'sAttributes = sAttributes & "PWD=myPassword" & Chr$(0)
DBEngine.RegisterDatabase sDSN, sDriver, True, sAttributes '注一
'nRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, sDriver, sAttributes) '注二
End Sub

Public Sub DeleteDSN(sDSN As String)
Dim nRet As Long
Dim sDriver As String
Dim sAttributes As String
sDriver = "Oracle73 Ver 2.5"
sAttributes = sAttributes & "DSN=" & sDSN & Chr$(0)
nRet = SQLConfigDataSource(vbAPINull, ODBC_REMOVE_DSN, sDriver, sAttributes)
End Sub
'假设要产生的 DSN 为 Test,实际使用示例如下:

Private Sub Command1_Click()
CreateDSN "Test"
End Sub

Private Sub Command2_Click()
DeleteDSN "Test"
End Sub
'而写到系統的数据如下:
1、ODBC.INI

[ODBC 32 bit Data Sources]
Test=Oracle73 Ver 2.5 (32 bit)

[Test]
Driver32=C:\ORAWIN95\ODBC250\sqo32_73.dll
2、注册表

机码:HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources
名称:Test 数据:Oracle73 Ver 2.5

机码:HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Test
名称:Description 数据:Test
名称:Driver 数据:C:\ORAWIN95\ODBC250\sqo32_73.dll
名称:Server 数据:Oracle8
名称:UserId 数据:Scott
※注一及注二可任选一种,只要將不使用的方法 Mark 起來即可!
※若您想使用其他之数据库,只要將以上模块稍作修改即可!

无论如何,就是只能输入数字-VB资料 VB用 DAO 或 ADO 正确访问 Access 2000 VB用CELL组件显示Access数据库的图片对象 VB用DAO打开Excel文件 VB用DATA控件绑定报表控件打印报表 VB用EXCEL来打印报表并生成折线图 VB用EXCEL组件简化VB编程的一种方法 VB用MDB文件做密码库 VB用ODBC API访问ODBC数据库 用VB 实现类电子表格的数据录入 用VB5直接控制Excel 97 用VBA编制Access的查询程序 用VB和RDO访问SQL Server 用VB开发多通道仪表数据采集程序 用VB实现关闭所有数据库对象 用VB实现类电子表格的数据录入 VB用代码创建数据库,表,字段 VB用类来编写数据库程序 优化OLE的调用频率-VB资料 语言选择引起的查询错误 -VB资料 远程数据库的访问-VB资料 运用ADO进行数据库表数据互导 -VB资料 在 VB5.0中编辑数据库和电子表格 在Access 2000中用ADO-VB资料 在Access数据库中实现密码管理的另一种方式 -VB资料 在VB6.0中使ACCESS数据库在网络使用中保持同步 在VB中更改SQL Server数据库结构 在VB中兼容非ACCESS数据库的技巧 在VB中引用dbf及索引文件 在VB中运行Microsoft Access报表的好方法 在VB中直接用ODBC API访问数据库 tomcat4.1.24中的sevlet问题 我下载了linux的iso文件,可怎么安装啊!! 我想问一下,有关于计数器的相关的信息? 救急:是否可以在两个页面(两个单独打开得ie浏览器页面)传递参数,如何实现啊? JDBC相关的两个问题 Oracle8.1.6怎样连接SQL SERVER2000 ?(在线等待) inserted表问题 急!!!关于FileSystemObject问题,在线等 dll 编译问题 请教 请教关于iterator与container? 谁有mixerAPI的中文资料,如(mixerGetLineInfo)我需要弄懂原理(不需要MSDN) 请问“怎么样才能修改以有的flash文件”,拜托,在线等待 如何使相同的子窗口显示一个? ?请教高手有关Align的问题。 高手帮我谢谢注释~~高分相赠~~~~谢谢高手~~~~ 各位大牛们,小弟想请教大家对FlowMIS这个平台有多少了解,用此平台进行二次开发(企业信息系统)好不好。 SQL SERVER2000 怎样连接Oracle8.1.6(在线等待) C语言程序设计 如何在英文字符集的客户端访问服务器为中文的数据库? 那4M是不是让诺基亚给偷了?! 如何调用ResetPrinter函数设置默认打印机 listview使用的问题 delphi的打包问题 请大家推荐一个短信网关 调查:当你身边响起神圣的国歌时,你会不会不由自主站起来,手放到胸前,跟着节奏一起唱起来?(有感而发) 请问如何调用.chm的帮助文件? 如何调用系统默认打印机的属性! 请教新手问题~~~麻烦哪为大侠给解释解释~谢~ 如何用struts实现阴阳色列表? 怎么用vb建立一个数据库呀?注意,不是一个表,是一个数据库! 如何调用系统默认打印机的属性! 一个很老很过时的数码相机。 郁闷,超级简单题目 初学ASP,请教学习心得 我的机器怎么老死机?? 两级表单动态联接?急,急,急!!!!!????? ---见了鬼了,Jre不好用!!!--- 寻求把中文字符串转换为十六进制的串的ORACLE函数? 电力学院惊魂 一條語句 數據庫日誌就寫滿了 怎样获得系统的字体!急!谢谢了! 谁有用java做的聊天系统程序(当作业)分不够可再给 在CB中如何动态的管理窗体 如何调用系统默认打印机的属性! API动态调用问题(很奇观) 好久没有发帖子了,现在心情奇好,兄弟们来接分! 在CB中如何动态的管理窗体 求C#网络编程书籍下载~ 简单问题,在线等待。可以在加分。 请教一题目! thanks sdany 我都14岁了,怎么还没长卵毛,我同学比我小都很长了我都14岁了,怎么还没长卵毛,我同学比我小都很长了.我爸爸六年级就有了 variability是什么意思啊? BIN的《Bin-Go》 歌词 拟写治水必躬亲提纲(明确本文内容,观点及论证方法) sampling variability是什么意思 墨子劝说最终能取胜的关键措施是什么~ 治水必躬亲本文论述了什么道理 说明治水不但要还要 measures of variability是什么意思 【公输】中,墨子的劝说技巧表现在哪些方面?这篇文章语言富于表现力,表现在哪些方面? 什么物质只有癌细胞吸收 Relative-price variability是什么意思 介绍一下什么是驳论 并描述一下如何写 求治水必躬亲单个字单个字的解释,越全越好 初二数学题,求大神回答一本书的出版成本包括固定成本和变动成本2部分一本书的出版成本包括固定成本和变动成本2部分,稿费+排版费 是固定的 而印刷费+纸张费 一印刷的书的数量成正比例 当年明月在哪儿写的书 为什么会产生癌细胞 谁知道怎么样能把固定成本转化为变动成本 当年明月还在写别的书?当年明月现在有没有写别的书? 影子的方向随着什麽的方向改变而改变?(一定要正确!) 每个内角都相等的n边形中,每个外角等于内角的5分之2,则n= 投票的投的意思【 】 投入战斗的投【 】 投篮的投【 】 什么动物没有嘴,却可以吃东西? 名词解释:雄辩术原理 怎样投篮 高中在差班,努力学能考上北大么或复旦. 器械术的名词解释? 百度燃战吧的投票有什么意义?赢了会怎么样?百度贴吧燃战吧一直在pk人物的人气……所以就想问一句……这个投票有什么意义?赢了又会怎么样? 嘴张得大的动物,猜一下是哪只或哪几只,谢谢啦 作者是如何举例论证治水必躬亲的?结合课文内容分析! 什么叫数学驳论?介绍一下相关知识! 找一篇文章!在《读者》上刊登过,是写一个补习生努力吃苦最终考上北大了.里头有几句是写和一个同去自习室上自习,大年三十还去!学完回去还能赶上赵本山的小品.低年级的学生向他求教经 简述基因突变的主要特点. cereal是不是冲的麦片? 求复旦博雅杯征文获奖的文章最好是古代诗歌或是宗教类的,好的话追加分数 第二段论证了什么问题第二段论述了什么问题? 麦片用英语怎么说? 三个首字母填词!英语!1.It's a p______ that you failed the exam.But don't give up.2.He practises playing basketball every day.He's really a h_______ player.3.He is an unusual person.We all think he's s________. A:____?B:I went to the park yesterday .2 A:____?B:We read books last Tuesday.A:____?B:I went to Hainan by plane.(I went by plane.)A:____?B:I am going to plant trees this weekend.A:What did Chen Jie do last weekend ( 去划船)B:____. cereal 是什么麦片?用自己的话说 不要复制字典 为加快西部大开发,某自治区决定新修一条公路,甲、乙两工程队承包此项工程.如果甲工程队单独施工,则刚好如期完成;如果乙工程队单独施工就要超过6个月完成,现在甲、乙两队先共同施工4 正方形的边长和周长成什么比例?我的答案:它不成比例.理由:正方形的边长周长,表面上看它是成正比例的,因为C:d=4,但是,注意看,它并没有说在同一个圆内,说明有可能是□A的边长与□B的 燕麦圈的英文怎么说? 几道让人头疼的初一数学题1、在数1,2,3,…,2007前添符号“+”和“—”,并依次运算,所得可能的最小非负数是多少?2、一串数1/1,-1/2,2/2,-1/2,1/3,-2/3…(1)是否存在数7/11,若存在是第几个数? 求英文高手翻译《盗梦空间》这段文字,感谢! when the mind is at its most vulnerable. Cobb's rarewhen the mind is at its most vulnerable. Cobb's rare ability has made him a coveted player in this treacherous new world of corporate espi 用牛奶冲麦片 英语怎么说? 如何快速长卵毛 you most work ( h ) at english根据句意及首字母提示,完成句子 俗语“不分青红皂白”中的“皂”是什么意思? at most 电负性的周期性是什么 以我不想开头,写一篇作文 卵毛有什么作用? 请问各位高手,如下一道生物题该选何答案,请附上详细的解析.下列细胞具有分裂能力的是:( )A 根尖成熟区细胞 B 人的皮肤角质层细胞C 癌细胞 D 高度分化的细胞 《墨子 公输》中墨子劝说最终能取得成功的关键措施是什么········ 怎么才能让男人卵毛长的快点啊长了几年了怎么才这么点啊.怎么回事.怎么变多点啊、、自卑死了.刮了不是没了. 求《治水必躬亲》中以、而、于的用法,以及这三个字的所有用法,并附上例句(七年级学过的)万分感谢! 静电力是指引力还是斥力?如果一个题目问,求两物体之间的静电力,那是不是得分别求引力和斥力? 卵毛会不会变白 治水必躬亲论述了什么的道理? 公输中墨子成功劝说的原因是什么? 日媒:盘点世界各地免费Wi-Fi那些少女遭性侵后被活埋 恢复意识后挖土逃驻日美军基地现近300只毒蜘蛛日本“黑色家庭”为何欲散还休浙江桶装水企业抽查合格率不到8成 8杭州市民给地铁\"挑刺\" 交通部门古巴外长将访华2012年恐怖袭击超过8千起 不幸遇伊核对话进展积极 伊朗或做重要让步德国联邦情报局否认监听美国政要俄否认G20峰会用手机充电器监控外国俄罗斯电影《斯大林格勒》中国将映 小欧盟20年:应对挑战携手前行谷歌街景拍到诡异图像:天空现耶稣与圣韩媒调查显示韩国民众出现“远日亲中”巴黎再发名品盗窃案 巴黎西郊20块名墨西哥一警察在路边与女子发生性关系 法国里尔市中心一珠宝店遭劫 损失高达宝鸡小学生深秋穿夏装露天表演 学校被全国人大常委会召开立法工作会议 张德明年起电视购物广告禁\"叫卖式\"夸嘉兴发文促房地产市场发展 逐步取消保台湾一男子就复合遭拒掐死前女友 案前朱立伦助选基隆 台媒称“蓝军领头羊”宁夏一微信公众平台账号传谣 管理员被台南多地暴雨成灾:民众遭水势围困 交陈菊谈高雄救灾:盼跟当局一起努力解决苏州台协高新区分会举行第四届理、监事国务院再次取消和调整一批行政审批项目海口“竹签井盖”涉事单位被列入黑名单宁夏一微信公众平台账号传谣 管理员被约旦河西岸巴勒斯坦人自发为加沙献血(泰国三位前总理在新加坡聚首男女同居20年分手 女方要求男方还6韩国延长临时国会会议至8月末 引发包韩数学家大会呼吁西非埃博拉疫区代表勿多样副本连连看 《旧约之战》热力十足湖北襄阳一工地上挖出隋唐时期古墓群 新疆非法宗教组织策划袭警刺杀村镇干部山西小微企业金融服务覆盖率超75%台湾恐怖情人 3天2度南下挽不回爱就持续雷雨天气影响 部分进出港航班延误
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘