精华内容
下载资源
问答
  • 常见的与数据库进行连接的方式有
    千次阅读
    2021-01-19 15:12:08

    在上一讲中,讲解了数据库的大概种类和特点,这些和我们VBA的知识离得远些,我们要用到只是其中的一点点就可以了。那么,要想操作数据库,首先要做的是什么呢?对了,就是要首先连接到这个数据库(我们先假设有这么一个数据库,即使它是空的)。这就好比我们要想实现上网的功能,首先要用网线连接到服务器,如果不连上服务器,你是无法上网的。连接数据库的过程就是相当于建立网线连接的过程,就是就是建立一个通道。如果你不连接上数据库,就无法操作数据库,就好比你不建立网络的连接就无从谈到上网浏览网页了。而且,连接数据库的过程,也是为了验证安全性. 比如我这里主要讲VBA,那么我就要首先让我的VBA连接上数据库,然后才能操作数据库。

    下面就开始讲如何建立连接,及连接的方式了,用通俗的语言讲,就是用什么设备上网呢?是电信,还是移动,联通。这里我还是提供几种常见的连接方式及其介绍,到下一讲我们将将具体的连接代码了。

    一 ODBC方式联接

    ODBC(Open DataBase Connectivity)翻译过来就是开放数据库互联。是由微软主导的数据库链接标准。是一种底层的访问技术,ODBC API 可以让客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能;但不足之处由于ODBC是只能用于关系型数据库,使得利用ODBC很难访问对象数据库及其他非关系数据库。

    二 DAO方式联接

    DAO(Data Access Object)数据访问对象型。不提供远程访问功能。只提供了一种通过程序代码创建和操纵数据库的机制。最大特点是对MICROSOFT JET数据库的操作很方便,而且是操作JET数据库时性能最好的技术接口之一。并且它并不只能用于访问这种数据库,事实上,通过DAO技术可以访问从文本文件到大型后台数据库等多种数据格式。Microsoft Jet为Access和Visual Basic这样的产品提供了数据引擎。

    备注1:DAO类与ODBC类相比具有很多相似之处,这主要有下面几点:

    两者都支持对各种ODBC数据源的访问。二者使用的数据引擎不同,但都可以满足用户编写应用程序的要求。由于DAO和ODBC类的许多方面都比较相似,因此只要用户掌握了ODBC,就很容易学会使用DAO。实际上,用户可以很轻松地把数据库应用程序从ODBC移植到DAO。

    三ADO 方式联接

    ADO(ActiveX Data Object),是ActiveX数据对象,是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。是在OLE DB规程下开发的,基于OLE-DB建立连接的局部和远程数据库访问技术。同OLE-DB一样,它要“年轻”些。使用中,我们一般用OLE-DB和ADO替代DAO和RDO。

    备注2:ADO和OLEDB之间的关系为:

    OLE DB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。

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

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

    可以这么说,ADO为OLEDB提供高层应用API函数。

    我们可以通过下面的表格比较各种连接方式的优缺点:

    在我的《VBA与数据库》中大部分是以ADO的连接模式来进行连接数据库的。

    今日内容回向:

    1 数据库连接大概有哪几种方式?

    2 为什么要先进行数据库的连接操作?

    更多相关内容
  • 数据库常见的几种表连接方式

    千次阅读 2022-05-10 10:57:03
    连接:左边表的所有数据都显示出来,右边的表数据只显示共同的那部分,没有对应的部分补NULL; 右连接:和左连接相反; 全外连接(Full Outer Join):查询出左表和右表所有数据,但是去除两表的重复数据 ...

    在这里插入图片描述

    • 内连接(Inner Join):仅将两个表中满足连接条件的行组合起来作为结果集

      • 自然连接:只考虑属性相同的元组对;
      • 等值连接:给定条件进行查询
      • 不允许null值
    • 外连接(Outer Join)

      • 左连接:左边表的所有数据都有显示出来,右边的表数据只显示共同有的那部分,没有对应的部分补NULL;
      • 右连接:和左连接相反;
      • 全外连接(Full Outer Join):查询出左表和右表所有数据,但是去除两表的重复数据
    • 交叉连接(Cross Join):返回两表的笛卡尔积(对于所含数据分别为m、n的表,返回m*n的结果)

      • 不允许null值
      • 应用:例如购物网页中多个销售属性的组合:蓝色+16G;蓝色+64G…
    • 注:inner join 和 cross join 的功能其实差不多,当cross不加on条件,就会产生笛卡尔积,inner join 同样

    参考:
    https://github.com/wolverinn/Waking-Up/blob/master/Database.md

    展开全文
  • 数据库连接的五种方式

    千次阅读 2022-03-21 13:39:10
    //2、得到连接 String url = "jdbc:mysql://localhost:3306/books?serverTimezone=UTC"; //将用户名和密码放入Properties对象 Properties properties = new Properties(); properties.setProperty("user","root"); ...

    第一种:直接创建driver对象

    //1、注册驱动
    Driver driver = new Driver();//创建driver对象
    
    //2、得到连接
    String url = "jdbc:mysql://localhost:3306/books?serverTimezone=UTC";
    
    //将用户名和密码放入Properties对象
    Properties properties = new Properties();
    properties.setProperty("user","root");
    properties.setProperty("password","123456");
    
    Connection connect = driver.connect(url, properties);//进行连接

    第二种:利用反射获取driver对象

    //1、注册驱动
    //利用反射加载driver类
    Class<?> aClass = Class.forName("com.mysql.cj.jdbc.Driver");
    Driver driver = (Driver)aClass.newInstance();
    
    //2、得到连接
    String url = "jdbc:mysql://localhost:3306/books?serverTimezone=UTC";
    
    //将用户名和密码放入Properties对象
    Properties properties = new Properties();
    properties.setProperty("user","root");
    properties.setProperty("password","123456");
    
    Connection connect = driver.connect(url, properties);//进行连接

    第三种:使用DriverManager注册驱动

    //1、注册驱动
    //利用反射加载driver类
    Class<?> aClass = Class.forName("com.mysql.cj.jdbc.Driver");
    Driver driver = (Driver)aClass.newInstance();
    
    //2、得到连接
    String url = "jdbc:mysql://localhost:3306/books?serverTimezone=UTC";
    
    //将用户名和密码放入Properties对象
    Properties properties = new Properties();
    properties.setProperty("user","root");
    properties.setProperty("password","123456");
    
    DriverManager.registerDriver(driver);//注册driver驱动
    
    Connection connect = DriverManager.getConnection(url, properties);//进行连接

    第四种:不需要创建driver对象,在反射加载完成后,就可以直接调用静态方法建立连接

    //1、注册驱动
    //利用反射加载driver类
    //在加载过程中就完成了driver类的注册
    Class.forName("com.mysql.cj.jdbc.Driver");
    
    //2、得到连接
    String url = "jdbc:mysql://localhost:3306/books?serverTimezone=UTC";
    
    //将用户名和密码放入Properties对象
    Properties properties = new Properties();
    properties.setProperty("user","root");
    properties.setProperty("password","123456");
    //不需要注册驱动就可以直接调用静态方法
    
    Connection connect = DriverManager.getConnection(url, properties);//进行连接

    (推荐)第五种:将必要信息放入配置文件中,通过加载配置文件,得到所有信息

    //获取配置文件中的信息
    Properties properties = new Properties();
    properties.load(new FileInputStream("src\\mysql.properties"));
    String root = properties.getProperty("user");
    String password = properties.getProperty("password");
    String url = properties.getProperty("url");
    String driver = properties.getProperty("driver");
    
    //注册驱动
    Class.forName(driver);
    
    //建立连接
    Connection connection = DriverManager.getConnection(url, root, password);

    展开全文
  • 常见数据库有哪几种?

    千次阅读 2022-05-30 14:44:50
    SQL(StructuredQueryLanguage,结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。 SQL是IBM公司于1975—1979年之间开发出来的,在20世纪随着...

    SQL(StructuredQueryLanguage,结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。

    SQL是IBM公司于1975—1979年之间开发出来的,在20世纪随着数据库技术的发展,数据库产品越来越多,如Oracle、DB2、MongoDB、SQLServer、MySQL等。

    1、Oracle数据库

    Oracle数据库管理系统是由甲骨文(Oracle)公司开发的,在数据库领域一直处于领先地位。目前,Oracle数据库覆盖了大、中、小型计算机等几十种计算机型,成为世界上使用最广泛的关系型数据管理系统(由二维表及其之间的关系组成的一个数据库)之一。

    Oracle数据库管理系统采用标准的SQL,并经过美国国家标准技术所(NIST)测试。与IBMSQL/DS、DB2、INGRES、IDMS/R等兼容,而且它可以在VMS、DOS、UNIX、Windows等操作系统下工作。不仅如此,Oracle数据库管理系统还具有良好的兼容性、可移植性和可连接性。

    2、SQLServer数据库

    SQLServer是由微软公司开发的一种关系型据库管理系统,它已广泛用于电子商务、银行、保险、电力等行业。SQLServer提供了对XML和Internet标准的支持,具有强大的、灵活的、基于Web的应用程序管理功能。而且界面友好、易于操作,深受广大用户的喜爱,但它只能在Windows平台上运行,并对操作系统的稳定性要求较高,因此很难处理日益增长的用户数量。

    3、DB2数据库

    DB2数据库是由IBM公司研制的一种关系型数据库管理系统,主要应用于OS/2、Windows等平台下,具有较好的可伸缩性,可支持从大型计算机到单用户环境。

    DB2支持标准的SQL,并且提供了高层次的数据利用性、完整性、安全性和可恢复性,以及从小规模到大规模应用程序的执行能力,适合于海量数据的存储,但相对于其他数据库管理系统而言,DB2的操作比较复杂。

    4、MongoDB数据库

    MongoDB是由10gen公司开发的一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似JSON的bjson格式,因此可以存储比较复杂的数据类型。

    Mongo数据库管理系统最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。不仅如此,它还是一个开源数据库,并且具有高性能、易部署、易使用、存储数据非常方便等特点。对于大数据量、高并发、弱事务的互联网应用,MongoDB完全可以满足Web2.0和移动互联网的数据存储需求。

    5、MySQL数据库

    MySQL数据库管理系统是由瑞典的MySQLAB公司开发的,但是几经辗转,现在是Oracle产品。它是以“客户/服务器”模式实现的,是一个多用户、多线程的小型数据库服务器。而且MySQL是开源数据的,任何人都可以获得该数据库的源代码并修正MySQL的缺陷。MySQL具有跨平台的特性,它不仅可以在Windows平台上使用,还可以在UNIX、Linux和MacOS等平台上使用。相对其他数据库而言,MySQL的使用更加方便、快捷,而且MySQL是免费的,运营成本低,因此,越来越多的公司开始使用MySQL。

    MySQL数据库入门到精通:

    MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括

    展开全文
  • 几种常见数据库连接的URL写法

    千次阅读 2018-11-05 16:02:43
    JDBC的URL=协议名+子协议名+数据源名。  a .协议名总是“jdbc”。...几种常见数据库连接 1 —oracle— 驱动:oracle.jdbc.driver.OracleDriver  URL:jdbc:oracle:thin:@machine_name:port...
  • 01. MySQL数据库背景介绍 MySQL属于传统的关系型...自甲骨文公司收购MySQL之后,MySQL在商业数据库与开源数据库领域的市场占有份额都跃居第一,这样的格局引起了部分业内人士的担忧,因为商业数据库的老大可能将
  • 连接数据库的五种方法

    万次阅读 2021-02-02 11:43:30
    连接数据库的五种方法连接数据库的五种方法方法一方法二方法三方法四方法五 连接数据库的五种方法 方法一 public void method1() throws SQLException { Driver driver = new com.mysql.jdbc.Driver(); String url...
  • 数据库中表的连接方式详解

    万次阅读 多人点赞 2019-06-13 10:52:48
    连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在 关系数据库管理系统中,表建立...为不同实体创建新的表,尔后通过连接进行查询。...
  • 达梦数据库连接配置

    千次阅读 2021-02-05 22:45:52
    数据库访问是数据库应用系统中非常重要的组成部分。...1.建立基本的JDBC连接JDBC(Java Database Connectivity)是Java应用程序与数据库的接口规范,旨在让各数据库开发商为Java程序员提供标准的数...
  • 数据库连接数据库常见问题

    千次阅读 2018-08-11 08:51:44
    1.java.sql.SQLException: Connections could not be acquired ... //无法从基础数据库中获取连接 解决:  1.配置文件错误  2.数据库驱动 或者数据库未启动或者无权访问  3.项目未引入对应的驱动jar包mysql-c...
  • EF常见数据库连接字符串示例

    千次阅读 2022-04-15 17:32:13
    数据库类型 字符串 Sqlite Data Source=./Furion.db MySql Data Source=localhost;Database=Furion;User ID=root;Password=000000;pooling=true;port=3306;sslmode=none;CharSet=utf8; SqlServer Server=...
  • 由于创建连接和释放连接很大的开销(尤其是数据库服务器不在本地时,每次建立连接都需要进行TCP的三次握手,释放连接需要进行TCP四次握手,造成的开销是不可忽视的),为了提升系统访问数据库的性能,可以事先...
  • Kettle常见数据库JNDI连接配置

    千次阅读 2020-10-09 17:38:41
    简而言之就是JNDI给资源取了名字,每次需要用到资源时是需要根据名字来找对应的资源,从而避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。JNDI 在 J2EE 应用程序中的主要角色就是提供间接...
  • 几种常见数据库连接

    万次阅读 2017-06-30 07:54:01
    感觉在介绍之前必要阐述一下连接池的几个概念,助于后边一些文字的理解。 最原始的数据库使用就是打开一个连接并进行使用,使用过后一定... 先打开一定数量的数据库连接,当使用的时候分配给调用者,调用完毕后返
  • Navicat 无法连接数据库常见问题

    千次阅读 2020-10-13 11:52:18
    Navicat无法连接数据库常见问题 1、查看mysql服务是否启动。 2、用户密码不正确(重置用户密码)。 重置密码步骤:转载 3、当用户密码重置后,仍然报错,需要看下端口是否被占用,若被占用则需要先结束进程服务再...
  • Druid数据库连接

    千次阅读 2022-05-11 19:34:00
    1.数据库连接池简介 数据库连接池是个容器,负责分配、管理数据库连接(Connection)。它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个; 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有...
  • 多种数据 库的连接方面 mysql hive impala server sql
  • VBA中连接数据库

    千次阅读 2021-10-04 17:06:42
    当然这里主要说的是关系数据库常见数据库有MS Access (是的, Access是一款桌面性关系数据库)、MS SQL Server、IBM DB2、Oracle等等。 从连接方式上,也分好多种,比如ODBC、ADODB等等。 听起来很复杂,但是实际...
  • 阿里巴巴主流数据库连接池Druid入门

    千次阅读 多人点赞 2022-04-09 09:45:36
    数据库连接池的必要性 (一).传统数据库连接模式的的步骤 1.在主程序中创建连接 2.进行sql操作 3.关闭数据库连接 (二).传统数据库连接模式存在的问题 1.浪费时间:每次连接时都要验证登录和将conn加载到内存...
  • 数据库连接失败,请检查数据库配置:/config/config.php,出现这个问题,正常是数据库的配置文件缺失,或是配置文件里面的数据库相关信息不正确导致的。请安如下步骤检查下。看看问题是否还存在:1、检查下config目录...
  • 常见数据库连接URL写法

    万次阅读 2018-04-27 14:08:46
    JDBC的URL=协议名+子协议名+数据源名。...数据源名也可能包含用户口令等信息;这些信息也可单独提供。 1、Oracl 驱动:oracle.jdbc.driver.OracleDriver URL:jdbc:oracle:thin:@machine_name:port:dbna...
  • 数据库连接池——基本原理

    千次阅读 2021-06-09 15:26:06
    数据库连接池——基本原理 1.数据库连接池是什么? 数据库连接池是负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。 2.为什么要使用连接池? 数据库连接是一种...
  • java几种常见数据库连接

    万次阅读 2017-04-26 20:07:43
    1、DriverManager:驱动管理类,主要负责获取数据库连接 static Connection getConnection(String url,String user,String password)试图建立到给定数据库URL的连接。 2、SQL数据库链接地址格式  JDBC的URL=...
  • 数据库优化几种常见方式

    千次阅读 2019-07-21 19:59:53
    数据库优化相关几种常见方式 一、数据库编码规范 1)从 JDBC 编程的角度讲,用 PreparedStatement 一般来说比 Statement 性能高,因为在使用 时,SQL 语句被预编译并存储在 PreparedStatement 对象中.然后可以使用 ...
  • 数据库连接错误10060

    千次阅读 2020-12-18 20:12:12
    【错误解决】MySQL出现Can't connect to MySQL server on 'localhost' (10060)错误转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】今天连接数据库遇到一个问题,错误提示:Can’t ...
  • 最近的性能测试中,遇到一个数据库连接池不释放的问题,下面描述下定位到这个问题的流程。 我们用的是dubbo框架 1.首先,压测过程中,请求失败了,所以,赶紧去看provider服务器日志(tail -f -n500 xxx.log),抛...
  • dbeaver是一款免费的数据库桌面连接工具,基于Apache-2.0协议开源,支持常见数据库连接,如MySQL/MariaDB, PostgreSQL, Greenplum, Oracle, DB2 LUW, Exasol, SQL Server, Sybase/SAP ASE, SQLite, Firebird, H2, ...
  • mysql数据库连接失败是什么原因

    千次阅读 2021-01-18 19:04:30
    原因一:登录账号、密码、服务器名称、数据库名称登录错误导致不能连接,这个比较常见,仔细检查好所填信息是否正确,填写正确一般就可以解决。解决方法:当正在使用的软件出现数据库不能连接时,一般就是服务器名...
  • 1. 使用已DSN的连接字符串进行连接(ODBC) //导入命名空间 using System.Data.Odbc; protectedvoid Page_Load(Object sender,EventArgs e) { //设置连接字符串 String connstr=@"DSN=sample"; /...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 419,502
精华内容 167,800
热门标签
关键字:

常见的与数据库进行连接的方式有