文章目录

  • 数据库技术发展
    • ODBC
    • OLE DB
      • 逻辑组件
  • C++ ADO
    • ADO七个对象成员
    • ADO库的3个接口
    • 使用
      • 导入ado数据库
  • access(文件型数据库) VS mysql(服务器型数据库)
  • VS ADO 连接
    • 连接测试
    • warning
      • 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配
  • SQL SERVER
    • 数据库复制
    • windows设置远程访问

数据库技术发展

ODBC => DAO => RDO => ADO OLE DB

ODBC

ODBC(Open Database Connectivity,开放数据库互连),它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

Microsoft OLE DB Provider for ODBC

OLE DB

ODBC仅仅支持访问关系型数据库,既二维数据数据库。不能使用SQL访问的非关系型和层次结构型数据,包含邮件系统中的数据、Web上的文本、文件夹服务等形式。 =》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是基于API的实现,而OLE DB则是基于COM标准(组件之间相互独立,仅保持通信)。

逻辑组件

  • 数据提供者(Data Provider):凡是通过OLE DB将数据提供出来的。即数据库提供者。数据提供者的概念能够和ODBC中的驱动程序对照理解。
  • 数据消费者(Data Consumer):使用了OLE DB提供的数据的程序或组件。
  • 服务组件(Service Component):运行数据提供者和数据消费者之间的数据传递工作。
  • 业务组件(Bussiness Component):利用服务组件专门完毕某种特定业务信息处理。是能够重用的功能组件。

ole db 连接mysql_数据库连接技术之OLE DB

mysql的ole db 访问接口msdasql的数据源对象_数据库访问接口(ODBC,OLEDB,ADO)

C++ ADO

ADO是OLE DB的进一步封装。为OLEDB提供高层应用API函数
ADO是DAO/RDO的后继产物。

ADO七个对象成员

  • Connection用于管理数据库的连接
  • Command包含sql命令
  • RecordSet用来存储数据操作返回的记录集
  • Error提供程序出错时的信息
  • Parameter用于管理基于参数化查询或存储过程的某个参数或变量信息
  • Field对象对应数据库表的字段
  • PropertyADO对象的定义特征或属性

ADO库的3个接口

  • _ConnectionPtr接口:返回一个记录集或一个空指针,通常用来连接数据库
  • _CommandPtr接口:返回一个记录集或执行sql返回记录集
  • _RecordsetPtr接口:是一个记录集对象,包含控制功能,锁定,游标等

使用

导入ado数据库

//0.引入库
// no_namespace rename("EOF", "adoEOF")防止命名重复,将EOF重命名为adoEOF
#import "C:\\Program Files (x86)\\Common Files\\System\\ado\\msado15.dll"no_namespace rename("EOF", "adoEOF")

access(文件型数据库) VS mysql(服务器型数据库)

文件型数据库又可称之为嵌入式数据库,它只能单机访问,不需要额外的独立进程,占用资源相对较少。
服务器型数据库可以通过IP地址跨主机运行,需要额外的进程去运行它。

access作为文件型数据库,相对比较轻量级,占用资源少,操作简单。缺点就是只适合于数据总量小,数据吞吐量少的场景。比方说用来存储程序的配置,就是一个不错的选择,常用于客户端,单机应用以及小型网站。如果此时选择MySQL等大型服务器,就有点杀鸡焉用牛刀的感觉。

而大型系统,则更适合用MySQL,特别适合数据总量非常大,频繁读写的情况。典型应用就是大中型网站,游戏服务器,而且同时访问量很大的那种。MySQL因为是服务器,还支持多个应用(包括服务器)同时访问,用于数据共享和交换,这一点也是access难以做到的。

access和mysql哪个有用?

VS ADO 连接

连接测试

  1. 在桌面新建mysql.udl文件
  2. 双击mysql.udl,打开“数据库连接属性”对话框。
  3. 在“提供程序”页选择”Micrsoft Ole DB Provider for ODBC Drivers“, 点击下一步;
  4. 在“连接”页的,“指定数据源"选择"使用连接字符串”;
  5. 点击“编译”,弹出“选择数据源”(在ODBC中创建的)。
  6. 返回“数据库连接属性”对话框,点击“测试连接”,成功的话就是我们要的连接字符串。

ADO 连接 MySQL
microsoft:连接到 ODBC 数据源

warning

在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配

位数不一致,驱动64位,vs程序32位。

MyODBC官方介绍
C++ ADO方式连接mysql数据库
C++使用ADO连接MySql数据库
使用Microsoft OLE DB Provider For ODBC链接MySQL

ADO Provider 属性

MySQL Provider
MySQL OLEDB connection strings

C# 使用MySQLDriverCS 连接MySQL 数据库
How to connect to MySql using OLE DB?

SQL SERVER

数据库复制

windows设置远程访问

  1. 设置数据库连接属性

  2. 设置用户状态信息



3. 服务器配置

  1. SQL SERVER服务开启(部分服务无法开启,则到系统【服务】中开启)



  1. 开启连接端口
  • 打开【控制面板\系统和安全\Windows Defender 防火墙】=》高级设置,选择入站规则,点击右侧新建规则;
  • 配置要开启的端口。


【笔记】win10远程连接SQL Server
SQL Server实现远程访问

更多推荐

数据库入门及对比