冰冻三尺 之 "访问数据库"

        几个数据库的小例子敲完了,一般一个例子也就是分成了三部分,对数据库的访问,对数据库的操作和释放数据库的数据,而这几个例子都是用的ADO模型,接下来分析一下ADO模型

        首先ADO模型和系统的数据库是什么关系


       图中说的很清晰明了,ADO相当于应用程序和数据之间的一个媒介,应用程序通过ADO模型来

对数据进行操作,而ODBC,OLEDB等又是ADO和数据库之间的一个桥梁,ODBCOLEDB将数据库中的数据转换成ADO能够识别的数据然后传递给ADO

几个概念如下

      【ODBC】 是一种底层的访问技术,因此,ODBCAPI可以是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能;但不足之处由于ODBC只能用于关系型数据库,使得利用ODBC很难访问对象数据库及其他非关系数据库。

       

一个完整的ODBC由下列几个部件组成:

  应用程序(Application)。

  ODBC管理器(Administrator)。该程序位于Windows控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。

  驱动程序管理器(DriverManager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。

  ODBC API。

  ODBC驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。

  数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。

  应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

  在ODBC中,ODBCAPI不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBCAPI的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。

  在访问ODBC数据源时需要ODBC驱动程序的支持。可以安装SQLServer、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和MicrosoftText等驱动程序.在缺省情况下,只会安装SQL Server、 Access、FoxPro和dBase的驱动程序.如果用户需要安装别的驱动程序,则需要重新运行安装程序并选择所需的驱动程序。

        【OLE DB 】是用于访问数据的重要的系统级编程接口,它是 ADO 的基础技术,同时还是ADO.NET 的数据源.

         ODBC OLE  DB的关系

         ODBC标准的对象是基于SQL 的数据源(SQL-Based Data Source),而OLE DB的对象则是范围更为广泛的任何数据存储。从这个意义上说,符合ODBC 标准的数据源是符合OLE DB 标准的数据存储的子集。符合ODBC标准的数据源要符合OLE DB 标准,还必须提供相应的OLE DB 服务程序(Service Provider),就像SQL Server 要符合ODBC标准,必须提供SQL Server ODBC 驱动程序一样。现在,微软自己已经为所有的ODBC 数据源提供了一个统一的OLE DB 服务程序,叫做ODBCOLE DB Provider。实际上,ODBC Provider 的作用,是替换ODBC Driver Manager,作为应用程序与ODBC驱动程序之间的桥梁,理论上不会增加任何开销。

     

        ADO 是基于OLEDB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口

         OLEDB和ODBC都是底层系统,都可直接对数据库进行访问,区别在于OLEDB既可以访问关系型数据库,也可访问非关系型数据库,而ODBC只能访问关系型数据库。虽然对不同数据库的操作方法不一样,但统一了通向不同的数据源的底层应用程序接口。

       

        + ADO是对象模型,也就是一组对象的集合,这里一共两类其中对象。

        独立型对象:

         connection:连接数据库

         command 用于查询

         recordset      用于记录

        依赖性对象

         field         记录字段信息   依赖   recordset

         parameter用参数查询提供数据  依赖 command



         property    用于访问特定对象主要信息    依赖  独立型对象

         error    错误处理   依赖  connection




  

  下面是通过Connection对象创建SQL ServerODBC数据源的连接.

  首选定义连接对象Set objCnName =  New  ADODB.Connection

   1.使用jet连接Access数据库

  objCnName.ConnectionString= "provider=microsoft.jet.oledb.3.51;" & "dataasource=" & App.Path & "\*.Mdb"

  objCnName.Open"mySQLODBC", "sa", ""      '这里的mySQLODBC 是配置ODBC数据源是的文件名

    2.打开SQL Server数据源连接

    objCnName.ConnectionString= "Provider=SQLOLEDV;database=myvbdatavase;" &"server=(local);integrated security=sspi"

  objCnName.Open

    3.使用DSN标记打开ODBC数据源连接

   objCnName.ConnectionString= "DSN=mySQLODBC;UID=sa;PWD=;"

    objCnName.Open

    4.使用DSN标记打开ODBC只不过访问别人机子上的数据库.

  objCnName.ConnectString= "Provider=SQLOLEDB;Data Source=192.168.24.176;InitialCataLog=Student;UID=sa;PWD=123"

  objCnName.Open ConnectionString

     5.使用DSNOLEDB 标记打开连接

 objCnName.ConnectionString = "datasource=mySQLODBC;user id =sa ;password=;"

  objCnName.Open

 

 

    objName.open方法,打开数据源连接

    objName.Close 方法,关闭数据源连接

    Set objName = nothing  释放数据

  

  冰冻三尺非一日之寒,巨大的进步在于点点滴滴的积累.

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码海拾贝2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值