Hibernate不同数据库的连接及SQL方言

本文讲述Hibernate不同数据库的连接及SQL方言。Hibernate不同数据库的连接可能会出现错误,有一种情况是由于Hibernate SQL方言设置不正确而导致的。

以下代码展示Hibernate不同数据库的连接。

<!--MySql 驱动程序 eg. mysql-connector-java-5.0.4-bin.jar--> 
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<!-- JDBC URL --> 
<property name="connection.url">jdbc:mysql://localhost/dbname?characterEncoding=gb2312</property>
<!-- 数据库用户名--> 
<property name="connection.username">root</property> 
<!-- 数据库密码--> 
<property name="connection.password">root</property> 

<!--Sql Server 驱动程序 eg.jtds-1.2.jar--> 
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property> 
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property> 

<!-- JDBC URL --> 
<property name="connection.url">jdbc:jtds:sqlserver://localhost:1433;DatabaseName=dbname</property> 
<!-- 数据库用户名--> 
<property name="connection.username">sa</property> 
<!-- 数据库密码--> 
<property name="connection.password"></property>  

<!--Oracle 驱动程序 ojdbc14.jar--> 
<property name="dialect">org.hibernate.dialect.OracleDialect< /property> 
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
<!-- JDBC URL --> 
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:dbname</property> 
<!-- 数据库用户名--> 
<property name="connection.username">test</property> 
<!-- 数据库密码--> 
<property name="connection.password">test</property>

如果出现如下错误,则可能是Hibernate SQL方言 (hibernate.dialect)设置不正确

Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]‘last_insert_id‘ 不是可以识别的 函数名。

rdbms 方言
db2 org.hibernate.dialect.DB2Dialect
db2 as/400 org.hibernate.dialect.DB2400Dialect
DB2 OS390 org.hibernate.dialect.DB2390Dialect  
PostgreSQL org.hibernate.dialect.PostgreSQLDialect
MySQL org.hibernate.dialect.MySQLDialect
MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect  
MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version) org.hibernate.dialect.OracleDialect
Oracle 9i/10g org.hibernate.dialect.Oracle9Dialect
Sybase org.hibernate.dialect.SybaseDialect
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Server org.hibernate.dialect.SQLServerDialect
SAP DB org.hibernate.dialect.SAPDBDialect
Informix org.hibernate.dialect.InformixDialect
HypersonicSQL org.hibernate.dialect.HSQLDialect
Ingres org.hibernate.dialect.IngresDialect
Progress org.hibernate.dialect.ProgressDialect
Mckoi SQL org.hibernate.dialect.MckoiDialect
Interbase org.hibernate.dialect.InterbaseDialect
Pointbase org.hibernate.dialect.PointbaseDialect
FrontBase org.hibernate.dialect.FrontbaseDialect
Firebird org.hibernate.dialect.FirebirdDialect

原文地址:https://www.cnblogs.com/zfy0098/p/12059187.html

时间: 2024-10-23 06:29:49

Hibernate不同数据库的连接及SQL方言的相关文章

[转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言

最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且在mysql中新建了一个hibernate数据库,仅此而已.然而预想不到的事情发生了……程序写好之后,运行,报错Hibernate: insert into news_table (title, content) values (?, ?) Exception in thread "main&quo

R语言︱ 数据库SQL-R连接与SQL语句执行(RODBC、sqldf包)

数据库是极其重要的R语言数据导入源数据之地,读入包有sqldf.RODBC等.跟SQL server相连有RODBC,跟mySQL链接的有RMySQL.但是在R里面,回传文本会出现截断的情况,这一情况可把我弄得有点手足无措. 一.数据库读入--RODBC包 CRAN 里面的包 RODBC 提供了 ODBC的访问接口: odbcConnect 或 odbcDriverConnect (在Windows图形化界面下,可以通过对话框选择数据库) 可以打开一个连接,返回一个用于随后数据库访问的控制(ha

Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml

转自:http://www.cnblogs.com/wj-wangjun/archive/2009/10/21/1587624.html Hibernate SQL方言 (hibernate.dialect) 数据库 hibernate方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect

Hibernate SQL方言(dialect)介绍

Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml Hibernate SQL方言 (hibernate.dialect) 数据库 hibernate方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect

hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL 8.1 org.hibernate.dialect.Po

SQL Server 断开某个数据库所有连接(还原的时候需要)

问题描述: SQL Server数据库备份还原后,在数据库名称后会出现"受限制访问"字样 解决办法: 右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Multiple -> 确定. 问题描述: 在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权.(Microsoft.SqlServer.Smo).出现此问题的原

不能连接MS Sql Server2008数据库的问题

前几天在计算机上安装了Win8企业版,又安装了MS Sql Server2008,本地开发比较顺畅,可是别的计算机的客户端却不能访问数据库. 先Ping一下,不通,可是它却能ping通别的计算机,可能是设置问题: 1.在运行里输入gpedit.msc,或者进入管理工具,找到计算机设置->windows设置->安全设置->本地策略->用户权限分配->拒绝从网络访问此计算机->删除guest用户,确定.(没有解决问题) 2.打开控制面板,进入管理工具,打开guest账户,G

CSharp 连接本地SQL Server 数据库

本文将详细介绍如何使用Connection对象连接数据库.对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法. Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. SqlConnection类的对象连接SQL Server数据库:OracleConnection 类的对象连

C# 连接SQL Server数据库的连接字符串&lt;转&gt;

C#连接SQL Server数据库的连接字符串,我们一个一个参数来介绍(注意:参数间用分号分隔): “user id=sa”:连接数据库的验证用户名为sa.他还有一个别名“uid”,所以这句我们还可以写成“uid=sa”. “password=”:连接数据库的验证密码为空.他的别名为“pwd”,所以我们可以写为“pwd=”. 这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要