2010-01-18 54 views
14

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

+2

你的问题是不明确的。你想要列出所有数据库的所有版本之间的所有差异吗?或者你想知道司机和方言之间的区别。 – 2010-01-18 10:45:33

+0

司机和方言区别 – user244634 2010-01-18 10:53:09

+1

,你不知道如何使用维基百科或谷歌? – 2010-01-18 10:59:03

回答

7

原题:

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

问题不明确;这是我的要求。

A driver是一款用于访问数据库的软件。

A dialect是用于访问数据库的查询语言(即协议)的变体。根据数据库软件的不同,它可能支持多种不同的dialects

I.e.并非所有的sql都生成相同;-)

8

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

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

看来,“数据库方言”可能被其他类型的数据库程序使用,意味着稍微不同,但与我刚刚写的内容大致相似。也就是说,“数据库驱动程序”是一个公认的行业术语,具有单一的具体含义,而“数据库方言”没有类似的认识,因此在不同的上下文中涉及不同的概念。

4

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

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

例如:Grails的/ JAVA

我们定义方言属性连接到MySQL具有此types

MySQL5Dialect, MySQLInnoDBDialect, MySQLMyISAMDialect 

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

在数据库的上下文中,人们谈论SQL的方言。 SQL是英语的主要语言。然后有数据库特定语法的方言。例如,Oracle有rownum关键字。 Refe

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

Example of usage in application side 

dataSource { 
    pooled = true 
    jmxExport = true 
    driverClassName = "com.mysql.jdbc.Driver" 
    dialect = "org.hibernate.dialect.MySQL5InnoDBDialect" 
    username = "root" 
    password = "root" 
} 

N.B。方言是连接数据库的必备条件。

另一方面,DataBase Driver是安装在工作站或服务器上的程序,以允许该系统上的程序与DBMS进行交互。 [Refer]

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

驱动程序就像写入的文件或类文件来处理实际数据库和消费应用程序(Mysql和Java应用程序)之间的通信。

MySQL的提供了标准的数据库驱动程序连接的使用MySQL是符合行业标准的ODBC和JDBC.After兼容你的驱动程序文件的应用程序和工具,你将它放在lib文件夹,然后你需要调用或者关联像这样。你需要指定URL,DATABASENAME,PORT,PASSWORD ..来连接数据库。

dataSource { 

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

Alloha,快乐的学习日!

相关问题