下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用SQL Server实现采集数据的网上共享王术 余立建 西南交通大学通信与计算机工程学院摘要本文的目的是希望在数据采集系统中,用SQL Server数据库来实现数据的网络共享。文中介绍了VB中的几个数据访问库,SQL Server数据库和在VB中分别用DAO和ADO访问SQL Server的几个方法,其中以ADO最为详细。关键词:VB,SQL Server,DAO,ADO,数据采集AbstractThe purpose of this paper is to use the SQL Server database to realize the sharing of data in the n
2、etwork in the data acquisition system. The paper induces several data accessing libraries, SQL Server database and several methods to use the DAO and ADO to access the SQL Server in the VB.Keywards:VB,SQL Server,DAO,ADO,Data acquisition1 前言随着网络的迅速发展,越来越多的的工业控制系统要求与网络结合,实现工控系统中采集数据的网上共享。一些工控组态软件也纷纷推出
3、了对网络的支持。通过网络进行远程数据采集已经成为可能,而且在一些领域已经得到了应用。目前采用的网络结构主要是Client/Server的两层结构,需要我们分别编写客户机与服务器的网络通讯程序,这虽然可以实现数据的共享,但是系统在数据的安全性、保密性与辅助功能上却很不足。我们针对这些问题决定利用SQL Server关系数据库所提供的强大的数据共享以及辅助功能来弥补不足。2 SQL Server数据库简介Microsoft SQL Server是一种高性能的关系型数据库管理系统(RDBMS)。它是专门为大量的数据处理和管理数据存储而设计的。它采用客户端/服务器(client/server)网络结构
4、,一般包括两种结构:一种是两层;一种是三层。在两层结构中,客户机可以直接访问服务器,而在三层结构中,客户机必须通过一个应用服务器来访问数据库服务器。当只有少数的几个用户时,我们可以采用两层结构,因为这样的结构比较的简单,但是当用户较多的时候,数据库服务器的资源不够,所以我们就必须在中间加上一个应用服务器。这时,客户机只是向应用服务器提出操作要求,并显示结果。三层网络结构的优势在于,它把所有的客户机有效的组织起来,节约了数据库服务器的资源,提高了整个网络的运行性能。由于本文是基于一个工业的数据采集系统,它的数据库服务器就是上位机(安装了Windows 2000 server 和 SQL Serv
5、er 2000),客户机只限于单位系统内的几台PC机(安装了SQL Server 2000的客户端工具),故我们采用了两层结构。另外我们可以编写基于数据库的WEB网页,使用户的访问更方便。3 VB数据访问库简介Microsoft公司根据开发人员的要求,发布了不同的数据访问库,包括ODBC、DAO、RDO和ADO,其中ADO是Microsoft开发的访问SQL Server的主要数据方法。我们这里只介绍与本文有关的DAO和ADO。DAO Data Access Objects(DAO)是Access和VB所带的自然对象模型。DAO用Jet数据库引擎读取Access数据库(MDB文件)中的数据。但
6、DAO也可以从Foxpro或dBase等ISAM数据库和任何ODBC数据源中读取数据,包括SQL Server。由于DAO在VB3.0中就已经出现,在Access和VB中都有提供,因此使用DAO的应用程序比使用其他数据访问方法的应用程序多。尽管DAO的对象结构与RDO和ADO相似,但它却不是访问SQL Server数据库的最好方法。ADOADO(Activex Data Objects)是OLE DB之上的对象模型。利用OLE DB API编程数据访问要求知道其API调用和如何处理数据,这是相当繁琐的过程。ADO是面向对象的API,隐藏了OLE DB的细节。开发人员不必使用OLE DB API
7、调用,而可以用ADO对象提供的属性和方法读取和处理数据。这些对象比OLE DB编程更直观,更好用。和所有UDA组件一样,ADO也是基于COM的。ADO提供了所有数据访问要求的易用接口。与其他访问库不同的是,ADO支持特定数据源功能,此功能是通过不同OLE DB数据提供者(Data provider)提供的。4 数据库访问我们用VB来实现系统,并提供了几个方案,各位读者可以根据自己的需求酌情采纳。(1) 第一种方法就是通过Access来进行连接,这种方法适用与那些熟悉用DAO编程或者已经拥有了用DAO来访问Access数据库程序的人,他们需要的是在不改变现有程序的基础上来连接到SQL Serve
8、r数据库,以实现数据的网上共享。VB6.0工具箱中的数据控件Data提供了一种访问Access数据库的方法。通过设置属性,可以将数据控件与一个特定的数据库及其中的表联系起来,并可进入到数据库中的任一记录。数据控件只是负责数据库和工程之间的数据交换,本身并不显示数据,必须用VB中的数据绑定控件与数据控件一起来完成访问数据库的任务。在VB中,对数据敏感的绑定控件有文本框(TextBox)、标签(Label)、复选框(CheckBox)、图象框(Image)、列表框(ListBox)等。绑定控件和数据控件必须在同一个窗体中。另外就是要注意版本的问题,如果用的是Access2000,那么它与VB6.0
9、是不能兼容的,因为Access2000用的数据库引擎是Jet4.0比VB6.0的数据库引擎版本要高。要解决这个问题有两个途径,一个是改Access2000,打开Access2000后,单击【工具】菜单上的【数据库实用工具】|【转换数据库】|【到早期Access数据库版本】;另一个是更改VB6.0,单击【工程】菜单中的【引用】,把引用Microsoft DAO 3.51 Object Library 库改为引用Microsoft DAO 3.6 Object Library库。利用控件可以很容易的连接到数据库,并对数据库中的记录进行操作,这里我们就不详述。在建立了VB到Access的数据连接后,
10、就是如何把Access数据库连接到SQL Server数据库。在SQL Server中提供了一种数据转换服务DTS(Data Transformation Services),负责数据的导入和导出功能。用户可以使用导入向导将不同的数据源中的数据导入数据库。在企业管理器中,展开组并单击用户希望导入数据的服务器,从工具菜单中选择向导,在向导对话框中选择数据转换服务中的DTS导入向导。余下的工作就是按照向导按部就班的进行数据导入操作。最有趣的是在向导中,用户可以设置定时进行数据导入工作,例如可以每天的既定时间进行,这样我们就不需要每次都人工的去进行导入操作,提高了这种方案的实用性。(2) 这种方法就
11、是直接利用ADO数据访问库进行VB到SQL Server的数据访问操作。与DAO和RDO等数据访问库相比,ADO对象模型很简单。尽管它显示一个层次,顶层一个对象,但许多对象都可以独立生成。ADO的对象模型如下:PropertyErrorPropertiesErrorsConnectionCommandParametersParameterPropertiesPropertyRecordRecordsetStreamFieldFieldsPropertyFieldPropertiesFields具体各个对象和集合的作用这里就不详细介绍了,有意的读者可以参考相关的资料。我们实现用ADO在VB中连接
12、SQL Server有两种方法。其一是用代码来实现,如下:Private Sub cmdOK_Click() 检查正确的密码 Dim rs As New ADODB.Recordset Dim con As New ADODB.ConnectionDim strCon As StringDim SqlStr As String strCon = Provider=SQLOLEDB;Data Source=local server;Initial Catalog=database1;User Id=sa;Password=; con.Open strCon 打开数据库连接 SqlStr = se
13、lect * from login where username= + txtUserName.Text + and password= + txtPassword.Text + rs.Open SqlStr, con, adOpenDynamic, adLockReadOnly 打开表 If Not rs.EOF Then Me.Hide MsgBox login success! mainframe.Visible = True Else MsgBox login failed! End If rs.Close con.Close End Sub这是我们编写的一个Sub过程,实现登录对话框
14、到数据库的连接。con是ADODB.Connection对象的一个实例,rs是ADODB.Recordset的实例,Connection对象实现了应用程序到数据库的连接,而Recordset实现对数据库表的访问。另外在对话框中还有文本框user和passward作为输入,这样我们就可以实现一个完整的数据库访问模块了。另一种方法是用VB的ADO控件,要引用这个控件的话按下列步骤,单击VB6.0的工程菜单中的引用,选上Microsoft Activex Data Objects 2.5 Library数据访问库,然后在控件列表中就会出现Adodc控件,结合利用其他的数据绑定控件,可以实现对数据库的访问了。其中在设置Adode控件的Connection属性时,会出现一个连接向导,依照向导的指示可以完成到SQL Server数据库的连接,其他的属性设置与DAO类似。5 结论本文介绍的利用SQL Server数据库进行网上数据共享的方法均是切实可行的,各方法有不同的优缺点和运用条件。本文设计的工程系统必须是在数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年及未来5年中国无机化工原料行业市场发展数据监测及投资战略规划研究报告
- 2025中国脑科学基础研究突破与产业转化瓶颈报告
- 2025中国职业教育政策环境及市场发展机遇研究报告
- 2025年及未来5年中国散料行业市场前景预测及投资战略研究报告
- 2025中国美妆行业碳排放测算与绿色供应链建设报告
- 2025中国美妆行业ESG实践与可持续发展战略研究
- 2025中国美妆产业政策红利窗口期与区域性税收优惠分析报告
- 2025中国网络安全行业竞争格局分析及技术演进与市场需求预测报告
- 2025中国网络安全产业竞争格局及投资价值评估报告
- 2026年中国自助缴费系统项目经营分析报告
- 冯晓霞:义务教育新课标背景下的幼小课程衔接问题
- (医学课件)眼眶解剖
- 文化艺术培训学校申办材料38223知识分享
- 核工业无损检测VTⅡ级-试题
- MD型煤矿用耐磨多级离心泵使用说明书
- 外研版九年级英语上全册课文翻译
- 重要的金属元素及其化合物
- 电子产品委托加工生产合同书(2篇)
- Hyperledger-Fabric关键技术课件
- 220kV变电站主接线讲义解读课件
- 树立正确的职业观课件
评论
0/150
提交评论