Database 数据库驱动程序和数据库方言之间的差异

Database 数据库驱动程序和数据库方言之间的差异,database,drivers,Database,Drivers,数据库驱动程序和数据库方言有什么区别?原始问题: 数据库驱动程序和数据库方言之间有什么区别 这个问题模棱两可;这是我的照片 驱动程序是一种用于访问数据库的软件 dataSource { //url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT =10000;DB_CLOSE_ON_EXIT=FALSE" databasename = "libdoc" url = "jdbc:mysql://

数据库驱动程序和数据库方言有什么区别?

原始问题:

数据库驱动程序和数据库方言之间有什么区别

这个问题模棱两可;这是我的照片

驱动程序是一种用于访问数据库的软件

dataSource {

     //url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT
              =10000;DB_CLOSE_ON_EXIT=FALSE"
      databasename = "libdoc"
      url = "jdbc:mysql://localhost:3306/"+databasename
   }
方言是用于访问数据库的查询语言(即协议)的变体。根据数据库软件的不同,它可能支持多种不同的
方言


也就是说,并非所有的
sql
都是平等创建的;-)

数据库驱动程序是一个程序,用于实现连接到数据库的协议(ODBC、JDBC)。它是一个适配器,将通用接口连接到特定的供应商实现,就像打印机驱动程序等

数据库方言是平台无关软件(JPA、Hibernate等)的配置设置,允许此类软件将其通用SQL语句转换为特定于供应商的DDL、DML


似乎“数据库方言”可能被其他类型的数据库程序使用,以表示与我刚才所写的稍有不同但大致相似的内容。也就是说,“数据库驱动程序”是一个公认的行业术语,只有一个具体的含义,而“数据库方言”没有类似的含义,因此在不同的上下文中指不同的概念

这个问题并不含糊,我认为应该正确回答

我们经常使用方言和驱动程序将某个应用程序与某个数据库管理系统连接起来

例如:在grails/java中

我们将连接到mysql的方言属性定义为具有以下属性之一

方言是一个英语单词,意思是一种语言的变体。例如,英语有多种方言。例如,英式英语和美式英语

在数据库的上下文中,人们谈论SQL的方言。SQL和英语一样是主要语言。还有一些方言具有特定于数据库的语法。例如,Oracle有rownum关键字

而且,数据库的方言只是一个术语,它定义了访问该数据库时可用的SQL语言的特定功能

dataSource {

     //url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT
              =10000;DB_CLOSE_ON_EXIT=FALSE"
      databasename = "libdoc"
      url = "jdbc:mysql://localhost:3306/"+databasename
   }
注意。连接到数据库时必须使用方言

dataSource {

     //url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT
              =10000;DB_CLOSE_ON_EXIT=FALSE"
      databasename = "libdoc"
      url = "jdbc:mysql://localhost:3306/"+databasename
   }
另一方面,数据库驱动程序是安装在工作站或服务器上的程序,允许该系统上的程序与DBMS交互

在java中,我们有一种称为JDBC/ODBC驱动程序规范的东西来连接到关系数据库

驱动程序类似于一个文件或类文件,用于处理实际数据库与消费应用程序(Mysql和java应用程序)之间的通信

MySQL提供标准数据库驱动程序连接,用于将MySQL与符合行业标准的ODBC和JDBC的应用程序和工具一起使用。获得驱动程序文件后,将其放在lib文件夹中,然后需要像这样调用或关联它。即,需要指定URL、数据库名、端口、密码。。连接到数据库

dataSource {

     //url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT
              =10000;DB_CLOSE_ON_EXIT=FALSE"
      databasename = "libdoc"
      url = "jdbc:mysql://localhost:3306/"+databasename
   }

阿洛哈,学习日快乐

你的问题模棱两可。是否要列出所有数据库的所有版本之间的所有差异?你想知道司机和方言的区别吗