如上所示:
ADO(ActiveX Data Objects)是一个用于访问数据源的COM组件,作为高层的编程界面层在OLE DB之上,包含了很多层次化的COM对象(Object)与集合(Collection)。而OLE DB则是基于COM,供C/C++访问与提供资料的接口,ODBC则是统一化的资料访问API。它们都是微软数据访问组件(MDAC)的一部分。
ADO它向上提供数个对象类别供应用程序调用,向下则是调用OLE DB所提供的接口,因此数据库必须要有OLE DB Provider,才可以由ADO调用。可以说ADO是在VBScript上唯一的资料访问管道。
Jet 4.0引擎会随系统一起安装,包括了ODBC 驱动程序和OLE DB 提供者,其msjetoledb40.dll(32位) 文件32位系统在system32目录下,64位系统在SysWOW64目录下,访问Excel还依赖于其中的MSEXCL40.DLL。
使用ADO建立与数据库的连接,其中最重要的参数是连接字符串(ConnectionString)。连接字符串包含所有访问数据库的必须信息。
OLE DB Provider:
Provider=Microsoft.Jet.OLEDB.4.0
读取如下accessdbdemo.mdb文件中 tag 表中 tag1value 字段的内容并输出
示例脚本:
Dim oConnDim oRsDim oComSet oConn = CreateObject("ADODB.Connection")oConn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\liubing\Documents\accessdbdemo.mdb;"oConn.OpenSet oRs=CreateObject("ADODB.Recordset")Set oCom=CreateObject("ADODB.Command")Set oCom.ActiveConnection=oConnoCom.CommandText="Select tag1value from tag"Set oRs=oCom.ExecuteIf (oRs.Fields.Count>0) ThenoRs.MoveFirstDo While Not oRs.EOFHMIRuntime.Trace oRs.Fields(0).Value & vbCrLfoRs.MoveNextLoopElseEnd IfoRs.CloseSet oRs=NothingoConn.CloseSet oConn=Nothing 最后分享一个网站,其中提供了各种OLE DB Provider的 ConnectionString的格式示例。
https://www.connectionstrings.com/
- - - 正 文 - - - - - - 结 束 - - -
---
如果你有与本文相关问题可以后台发消息,欢迎点分享、收藏、点赞、在看。