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

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 起來即可!
※若您想使用其他之数据库,只要將以上模块稍作修改即可!

苹果和IBM成最佳搭档 微软谷歌或受威胁 OpenStack社区又添新成员 浪潮推动开放云生态系统构建 重度使用AWS及Hadoop,Pinterest的自服务平台打造历程 《近匠》腾讯信鸽:基于大数据的推送 超低功耗&amp;#039;Whisper&amp;#039;架构发布:IoT、可穿戴连接性IP新标准! R的数据分析制霸以及企业级应用盘点 第二届游戏运营技术论坛来袭!与大牛共论云时代的游戏运营之道 云雀科技:飞行器+地图,展望飞行器的新体验 Sandstorm,前Googler和极客名人建立通用开源工具保姆 触控科技CEO陈昊芝:引擎技术推动行业升级 谁能成为Hero,这一次你说了算!——TCL智能电视开发大赛创意阶段评审征集 微信官方在“公开课”上13个热点问题的解答摘要 MDCC 2014移动开发者大会10月开幕:你就是主角! 设计师该如何挣得一席之地? 回到未来:最热门的十大清洁能源技术公司 深度学习:未来机器人的进化途径 搜狗开源内部项目管理系统Cynthia,已被数十家企业采用 沃游戏新版本全新登场 好友PK根本停不下来 腾讯发布首款智能硬件,内部筹建孵化器鼓励创新 触控开发者平台:孕育“十亿开发者俱乐部” 《近匠》大新伙伴:大姨吗防晒小助手,帮你呵护女神 专访阿里云总裁王文斌:做出“用得爽”的工程产品 专访AMD全球副总裁潘晓明:2014全线发力,力争中国市场 搜狗开源内部项目管理平台Cynthia意欲何为? 深度解析浪潮新八路服务器TS860 支持Box2D,开源HTML5 2D游戏引擎FLAG 一周消息树:从程序员到架构师的方法与逻辑 【CTO俱乐部走进海尔】海尔的转型探索之路 十一问MongoDB CTO,谈NoSQL人气王的扩展、事务及运维 腾讯“创业•密码”开发者论坛 ChinaJoy引爆创业者关注 从F1赛车到智能手机,无线充电技术之崛起 用户权限的问题 怎样才是高效的多重循环? 紧急查找pcl-735,db-37的开发接口资料,100分!! 在VC中为什么使用MFC,好处有哪些? 放大問題!20分 高分求教,在线等待!!具体问题请进..... 为什么java出这样的问题 初学者多层分布式的问题 请问谁有从数据库填充DropDownList控件的例子, 这个DropDownList是要在DataList的EditItemTemplate中的,谢谢! 请问谁有从数据库填充DropDownList控件的例子, 这个DropDownList是要在DataList的EditItemTemplate中的,谢谢! BC++安装只用15张DISK,后面3张为什么不用? 一个小问题 weblogic+ejb高手请出来赐教 000000000000020.0000000000000000分提问:以前的加密文件现在如何查看? 怎样销毁CFormView 对象? (在线等待) PB如何调用带参数,及返回值的SQLserver存储过程? #####如何捕获在窗体外,鼠标右键或左键CLICK时的鼠标的坐标点##### dll的问题 在VB的菜单中,如何加载图标? 安装问题! 关于高程,菜鸟请各位大虾帮忙!!!! 给datarow负值,在winform可以,在webform失败? 在线统计,在国内有哪些大企业应用了客户关系管理系统(CRM)??? MessageBox不能显示 简单问题,写文字时旋转90度(立即给分) 求救,我好迷惘! 怎么得到当前系统中安装的所有程序(软件)的列表? 什么叫做域(急用) select int (*fp)(int a,int b) 和 int *fp(int a,int b)有何区别 ADO中的_RecordsetPtr的查询问题 我是学VB了,但我不知道IIS是什么意思是否能给示解答,细细说明,增分 为什么我的xp经常一开机不久就发出警报声音 求救,我好迷惘! 请网友们注意接分 郁闷!太郁闷了!大家都来看看,散分 仓库物料存仓量统计问题,SQL语句怎样写,进仓、出仓在不同的表呀! 菜鸟请教高手:这样的代码能写吗 求救,我好迷惘! 怎样使热点(光标)跳到某个对像?? 内空,请sharetop进来领分 仓库物料存仓量统计问题,SQL语句怎样写,进仓、出仓在不同的表呀! 请问oracle和sql server两者最大区别是什么? 请问哪里有<vc60宝典>的电子书下载?不够分再加 用RDS技术要什么样的系统设定?? 如何判断image里有没有图片? 请问高手,能不能给edit的一定部分加阴影。 如果数据达到百万条,如何来优化检索速度???希望高手进来探讨!!! 请问大侠!一个网卡可以和两个ip绑定吗? 大家帮我找原因 开机时候如何进入dos状态? 理论上丙三醇可以做内燃机防冻剂吗? 如何用几何画板作二次函数图像 哥哥4个苹果,姐姐有3个苹果,弟弟有8个苹果,哥哥给弟弟1个后,弟弟吃了3个,这时谁的苹果多少? 如图,已知b、c两点把线段ad分成2:4:3三部分,m是ad的中点,cd=6,求线段mc的长 在几何画板中作二次函数能够体现移动规律的? 高一化学必修一归纳与整理 化学关于胶体7.下列关于溶液和胶体的叙述,正确的是A.溶液是电中性的,胶体是带电的B.通电时,溶液中的溶质粒子分别向两极移动,胶体中的分散质粒子向某一极移动C.溶液中溶质分子的运动有 怎么使用几何画板?特别是制作二次函数的.我要完整的使用方法!几何画板从别人那里弄来了,可是有些功能不怎么会,特别是二次函数,想要在同一个函数图像上方便的改变a,b,c的值,可是弄不来 有一堆苹果,4个4个地数余3个,5个5个地数余4个,6个6个弟数余5个,这堆苹果至少有多少个?苹果有59个,只需列出个有依据的算式,说明原因! 如何画一个圆的关于一条直线的轴对称图形 八年级论文物理物态变化 ……每一章……知识点归纳整理, 如何画一个三角形关于x=-1的轴对称图形 △ABC中,∠BAC=90°,AB=AC,在BC上取M、N,使∠MAN=45°,判断BM、MN、NC为边的△的形状(急) 高一化学必修一、实验整理要试验总结 就是高一有多少个比较重要的试验 画一个29平方厘米的轴对称图形怎么画要轴对称,边长还要是整数给300分 梦到摘枣有什么寓意? 有关力学的一道物理题 在水平长直的轨道上,有一长为L=2米的平板车在外力控制下保持速度v=4m/s做匀速直线运动,某时刻将一质量为m=1kg的小滑块轻放在车面的中点,平板车在外力控制下仍然保 防止煤尘爆炸 措施 梦见吃摘枣吃什么意思 城市噪声来源有工业噪声、交通噪声和生活环境噪声.城市噪声来源有工业噪声、交通噪声和生活环境噪声.控制措施有将噪声严重的工厂迁出市区;对噪声大的机器安装消音器并限制使用, 防止与隔绝煤尘爆炸的措施有哪些? 兄弟两个共有苹果24个,如果哥哥分给弟弟2个,哥哥的个数是弟弟的3倍,哥哥和弟弟各有多少个? 质量m=2kg的物体静止在水平地面上,物体与水平面间的动摩擦因素u=0.25,现在对物体施加一个大小为F=8N,与水平方向夹脚a=37°的斜向上的拉力,经5s撤去拉力,求物体通过的总位移.(g取10m/s²) 关于噪声危害的事例做物理小报要用 关于噪声危害的具体事例 兄弟两个共有苹果24个,如果哥哥分给弟弟2个后 ,哥哥的个数是弟弟的3倍,他们各有多少个苹果? 1.力学题目一个,木棍的质量是30kg,假设地板和墙壁没有摩擦力,如果不让这个木棍滑到,则需要的力f至少要多少? 一道化学的疑惑题.为什么单质Al与水在常温时很难进行反应.百度百科里是这样说的,不相信的可以去金属性的百科里去看下. 立体几何怎么学啊?必修1,3,4,5的东西不听都会的 为什么必修二的立体几何听了还是不会做?什么几个点,几条线,确定几个平面的最不会做了,还有异面直线角度也不怎么熟练,到底要怎么学啊? 在 solidworks中怎样实现弹簧与孔之间的饿装配 高一练习题中疑惑 化学1、某周期的第一主族元素原子序数为a,那么同一周期的第三主族元素的原子序数可以是:答案:a+2 a+12为什么可以是a+12?2、2009理综)甲乙丙丁4种物质分别含2种或3种 怎样学立体几何? 如图,BE,CF是△ABC的高,且BP=AC,CQ=AB.求证AP⊥AQ 将SO2,N2,O2的混合气体通入装有碘的淀粉溶液里.SO2与I2反应与N2,O2不反应.若溶液兰色消失后,没有及时停止通气,则测得的SO2的含量_______(偏高.偏底,不受影响)答案是偏高,这是为什么 立体几何怎样学 姐姐和弟弟分苹果,两人分得同样多,姐姐给弟弟10个,弟弟比姐姐多多少? 声与信息,声与能量各举三个例子还有噪声防治的三个途径 一道疑惑的化学题~为什么有相同通式的有机物不一定是同系物呢?举例说明啊~我硬是没找出来哎~ 刚学立体几何,帮下忙已知在长方体ABCD-A1B1C1D1中,AB=4,AD=3,AA1=2,求异面直线AC1和BD所成的角大小 问一道物理共点力平衡的一题质量为m的质点,与三根相同的轻弹簧相连,如图所示,静止时相邻两弹簧间的夹角均为1200,已知弹簧a、b对质点的作用力均为F,则弹簧c对质点的作用力大小可能为( A 一道使我疑惑的化学题NaHCO3溶液中各种离子分子的浓度大小.要两个两个的比,并且要特别详细,说出为什么哪个大那个小.说的越细越通俗易懂者给分. 如何学立体几何 日常生活中哪些噪声?如何预防?日常生活中哪些地方会形成光污染,光污染有哪些危害? 如图若c、d为线段AB的黄金分割点,则AD AC CB AB 与AB之间的数量关系是AD=________AB≈____ABAC=________AB≈____AB CD=________AB≈____AB solidworks怎么画弹簧我以前用的软件是PROE,现在刚刚装上solidworks软件,还不知道怎么画弹簧, 一道关于物理中共点力平衡的问题质量为m的质点同时受到几个共点力作用而处于平衡状态,当其中一个力F大小不变,方向转过180度,其余的力都不变,则质点的加速度大小和方向为()A F/m,与F原 如何画几何图形?画的几何图形如何上传到这里? 梦见吃枣 一道物理题.关于共点力作用下物体的平衡轻杆下端铰于地面,上端用大小恒定的水平力F拉住,且用铁丝斜向拉住轻杆上端,杆恰竖直,现将铁丝往靠近杆的方向移动,铁丝的长度也随之变化,而杆 如何把一个几何图形分成几个几何图形再拼成一个图案就是要手工的图纸 列方程解答应用题:苹果和梨共重560千克,苹果的重量是梨的4倍,苹果和梨各重多少千克? 燃气灶灭火原因 我家的科宝燃气灶(右边)一坐锅等东西就灭火不知是怎么回事,请知道的回答, 如图,BE、CF是△ABC的高,且BP=AC,CQ=AB.求证:AP⊥AQ速度 过程 怎么作旋转图形啊.如题、、最好把每一步都说清楚一点、急 科宝手机怎么样 怎么画几何图形 水果店存有30吨,第一次运出五分之一,第二次运出余下的三分之一,还剩多少吨? 这是题的图片 二氧化碳灭火器内的成分公式 已知一个等腰直角三角形ABC ,角BAC是直角 M,N是BC上两点,角MAN是45度 问BM,MN,NC,的关系
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘