你当前的位置:首页 > 编程技巧 >

如何在VC++6.O下动态加载ODBC数据源

返回文章列表 作者:老耿 时间:01-27 来源:大测控  字体:【

如何在VC++6.O 下动态加载 ODBC数据源

SQLConfigDataSource() 
SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft FoxPro Driver (*.dbf)", 
"DSN=MYDB"

"DefaultDir=c:mydir"

"FIL=FoxPro 2.5"

"DriverId=280"))

在注册DSN时,SQLConfigDataSource函数的第二个参数应该是ODBC_ADD_DSN,第三个参数指定了ODBC驱动程序,它的写法可以参照ODBC管理器的驱动程序页。第四个参数说明了数据源的各种属性,它是由一系列子串构成,每个子串的末尾必须有一个“”。最重要的属性是“DSN=数据源名”,其它属性包括缺省目录以及驱动程序版本信息。在上例中,使用FoxPro 2.5的版本,所以DriverId应该是280,对应地,FoxPro 2.6的DriverId是536,FoxPro 2.0的是24。

如果读者对SQLConfigDataSource函数的第四个参数的设置方法不清楚,那么可以打开Windows的注册表看一看已注册过的DSN的各项属性。运行RegEdit可以打开注册表,然后依次打开HKEY_CURRENT_USER->Software->ODBC->ODBC.INI,就可以看到已注册的DSN,打开各DSN,则可以看到该DSN的各项属性,读者可以仿照DSN属性来设置第四个参数。

的名字必须唯一,因此如果要注册的DSN已被注册过,那么SQLConfigDataSource就修改原来DSN的属性。

一、ODBC
开放数据库连接ODBC(Open Database Connec-tivity)是微软开放服务结构WOSA中关于数据库的一
个重要部分,它允许应用程序通过ODBCAPI访问不同数据资源中的数据,从而为数据库编程提供了
一个标准接口。ODBC是对SQL Access Group的CLI标准的一种实现,它允许应用程序访问范围很广
的数据库(从简单的ASCII文本到复杂的主框架数据库),除了Windows平台外,ODBC还可以在其
他诸如UNIX等的操作平台上使用,因此ODBC获得了世界上大多数领先的数据库和应用程序开发商
的广泛支持。
ODBC主要包括了四层结构:最上层是应用程序,第二层是驱动程序管理器,第三层是不同的驱
动程序,对应不同的数据库,最底层是具体的数据源。每个不同的数据资源类型由一个ODBC驱动程
序支持,这个驱动程序完成了ODBC API程序的核心,而且与数据库通讯。
二、一般加表数据源的方法
通常,开发ODBC应用程序之前必须要手动加入所用的数据源,利用位于控制面板中的ODBC管
理器可以方便地实现数据库加载。双击控制面板中32-bit ODBC的图标就会出现管理器对话框,点击
Add按钮加人数据源,选择使用的驱动程序、数据库名称、服务器地址或其他缺省设置后就把数据源
加载到ODBC管理器中了。ODBC管理器负责安装驱动程序、管理数据源,帮助程序员跟踪ODBC的函
数调用,并能将应用程序的SQL语句及其他消息传递给驱动程序,而驱动程序则负责将结果集传回应
用程序。
利用VC++6.0的AppWizard创建一个基于单文档的工程,选择数据库支持并根据提示加人所需
数据库,这样就可以在应用程序中实现对该数据源的增加、修改和删除等操作了。
毫无疑问,采用上述方法就能方便地对指定数据库进行操作。但是,实际运用中,用户往往要求
在同一个应用程序中能任意访问不同的数据源,开发人员无法确定要加载的数据源,采用一般的加载
方法就有了无法克服的缺陷。显然,这时就要求动态地进行ODBC数据源加载,用户只要选择所需的
数据源,应用程序就会自动地把它装载到ODBC管理器。 "
三、动态加载数据库
创建ODBC数据源可以调用Windows系统子目录下的动态链接库Odbcint.dll中的函数SQLConfigDataSource()
该函数可以动态地增加、修改和删除数据源。
lQLConfigDataSource()函数
SQLConfigDataSource()的原型如下:
BOOLSQLConfigDataSource(HWND hwndParent, UINT
fRequest,LPCSTR IpszDriver, LPCSTR IpszAttributes);
其中四个参数的用法如下:
●参数hwndPwent是父级窗口句柄。如果句柄为NULL,将不会显示一些有关的对话框。
如果参数 IpszAttributes提供的信息不够完善,在创建过程中就会出现对话框要求用户提供相应信息。
●参数fRequest可以设置为下面的数值之一:
ODBC_ADD_DSN: 增加_个新数据源
ODBC_CONHG_DSN: 配置(修改)一个已经存在的数据源
ODBC_REMOVE_DSN: 删除一个已经存在的数据源
ODBC_ADD_SYS_DSN:. 增加一个新的系统数据源
ODBC_CONFIG—SYS—DSN: 更改一个已经存在的系统数据源
ODBC_REMOVE_SYS_DSN:. 删除一个已经存在的系统数据源
●参数lpszDriver是数据库引擎名称,可以参见
ODBC管理器中对ODBC驱动程序的描述。比如要加
载的是Excel数据库,那么数据库引擎名称就为Microsoft Excel Driver(*.xls)

●参数lpszAttributes为一连串的"KeyName=value"
字符串,每两个KeyName值之间用""字符隔开。KeyName主要是新数据源缺省的驱动程序注册说明,其中最主要的关键字是"DSN"-----    新数据源的名称,其余关键字则根据不同的数据源有不同要求。关于lpszAttributes参数的具体设置,详细可以参考Windows系统目录下帮助文件Odbcjtn.hlp主题目录标签中的"ODBC API函数改变|SQLConfigDatasource"条目。
2.SqlConfigDataSource的应用条件
  使用SqlConfigDataSource函数之前,必须把
ODBCINST.H文件包含在工程头文件中,将ODBC-
CP32.LIB加人工程,同时保证ODBCCP32.DLL运行时处于系统子目录下。
文章相关
现有0条评论 | 更多评论..

我要发表看法



  如果您还不是本站会员
欢迎加入
  • ※ 评论注意事项:
  • 不是会员或未登陆发表评论,评论人名字显示为匿名。
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规。
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
  • 本站管理人员有权保留或删除评论中的任意内容。
  • 参与本评论即表明您已经阅读并接受上述条款。
站内搜索
本栏热门
计算机及通讯技术已成为工业环境中大部分解决方案的核心部分,其在系统中的比重正在迅速增加。在工业控制中,交流电机的拖动越来越多的采用变频器完成,不仅作为一个单独的执行机构,而是随着不断的智能化,同远程计算机之间可以通过各种通讯方式结合成一个有机的整体。
自来水是保障城市经济发展和人民生活的重要基础设施,是保障城市繁荣发展、人民生活以及发展国民经济不可缺少的先决条件。从另一个方面来说,我国是一个高度缺水的发展中国家,随着改革开放的不断深入和发展以及人口数量的不断增长,无论从自来水产量和质量上,社会都对城市供水提供了更高的要求。而实现水厂与供水调度系统的自动化,是保证自来水安全
西门子提供的最新软件:Simatic Net PC-Software CD 2005为各种组态软件的开发提供了一个统一的平台,它建立的PC站既为一些组态软件,如:WinCC、Protol等提供了与PLC的通讯平台,也提供了一套编程接口,可使用高级语言编程通过Simatic Net访问PLC数据。
针对控制系统中上位机与S7-200系列PLC通信的实际问题,总结了几种监控计算机与S7-200系列PLC的通信方法,这几种方法在不同的控制系统中能较好解决监控计算机与S7-200系列PLC通信问题。西门子工控产品在工控领域应用市场中有较高的占有率,S7-200系列PLC是西门子SIMATIC PLC
西门子S7-200PLC是德国西门子公司生产的小型PLC。S7-200以其高可靠性、指令丰富、内置功能丰富、强劲的通讯能力、较高的性价比等特点,在工业控制领域中被广泛应用。S7-200PLC的突出特点之一是自由口通讯功能。如何实现S7-200PLC与个人计算机的互联通信,是S7-200PLC应用

设为首页| 加入收藏| 联系我们
Copyright 2004-2007 Www.plc365.coM All Rights Reserved
免费提供PLC可编程控制器编程资料,应用案例,软件下载
请使用1024*768分辨率浏览本站以达到最佳视觉效果