如果出现如下错误,则可能是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 |
jdbc连接各种数据库方式列表
下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
4、Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
5、Informix数据库
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"; //myDB为数据库名
Connection conn= DriverManager.getConnection(url);
6、MySQL数据库
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//或者Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL数据库
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
8、access数据库直连用ODBC的
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");
Statement stmtNew=conn.createStatement() ;
分享到:
相关推荐
Hibernate提供了多种SQL方言,例如org.hibernate.dialect.OracleDialect、org.hibernate.dialect.MySQLDialect、org.hibernate.dialect.SQLServerDialect等。我们可以在配置文件中使用元素来设置SQL方言,例如: ...
例如,`hibernate.connection.driver_class`对应数据库驱动,`hibernate.dialect`指定了使用的数据库方言,`hibernate.show_sql`可以控制是否打印执行的SQL语句。 总的来说,理解和熟练运用`hibernate-...
Hibernate方言(Dialect)是Hibernate框架中的一个关键概念,它是Hibernate与特定数据库之间通信的桥梁。方言定义了如何将Hibernate的SQL语句转换为特定数据库所理解的SQL,包括列类型、约束、SQL语法等。例如,达梦...
而方言(Dialect)则是Hibernate中用于适配不同数据库系统的类,它定义了SQL语法的特定实现,使得Hibernate可以正确地在不同的数据库上执行SQL语句。 达梦数据库作为国内自主研发的高性能、高安全性的数据库产品,...
sql方言: RDBMS 方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL org.hibernate.dialect....
接下来,`DmDialect-for-hibernate4.0.jar`是针对Hibernate 4.0版本的达梦数据库方言(Dialect)。Hibernate是一个强大的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库,将Java对象与数据库表...
在Hibernate中,方言(Dialect)是关键组件之一,它定义了特定数据库的SQL语法和特性。达梦数据库的方言包使得Hibernate能理解并生成符合达梦数据库语法的SQL语句。在压缩包中提供的Hibernate方言包,适用于...
例如,Oracle、MySQL、SQL Server等都有各自的SQL方言,达梦数据库也不例外。 【达梦dialect方言jar包的用途】 这个"国产达梦dialect方言jar包"是专门为与达梦数据库进行交互而设计的。在Java开发中,当使用诸如...
4. SQL方言:`hibernate-dialect.jar` Hibernate支持多种数据库,每种数据库可能有不同的SQL语法。`hibernate-dialect.jar`包含不同数据库的方言类,使得Hibernate可以生成适合特定数据库的SQL语句。 5. 第三方库...
- `dialect`:指定数据库方言,使Hibernate能生成正确的SQL语句。 4. `<mapping>`:引入`.hbm.xml`文件,将类映射到数据库表。 ** 压缩包子文件的文件名称列表解析 ** - "关于hibernate的.htm.xml配置.txt":可能...
- `org.hibernate.dialect.SQLServerDialect`:为所有版本的SQL Server提供通用支持。 #### MySQL **MySQL** 是一个开源的关系型数据库管理系统,因其高性能和可靠性而广受欢迎。MySQL支持不同的存储引擎,每种...
- **配置文件**:在项目根目录下创建 hibernate.cfg.xml 文件,用于配置数据库连接信息、方言、显示 SQL 语句等设置。 ```xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate ...
在 Hibernate 中,我们需要选择合适的方言来生成相应的 SQL 语句。例如,对于 MySQL 数据库,我们可以使用 org.hibernate.dialect.MySQLDialect 方言;对于 Oracle 数据库,我们可以使用 org.hibernate.dialect....
然而,与不同的数据库系统交互时,由于各个数据库的SQL语法和特性存在差异,Hibernate需要适配这些差异,这就涉及到了SQL方言(Dialect)的概念。 SQL方言是Hibernate为特定数据库系统提供的一个抽象层,它确保...
另外,还有一些以`dialect`结尾的jar文件,如`hibernate-5.0.12.Finaldialect.jar`,这些通常是针对特定数据库的方言(Dialect)实现,用于告诉Hibernate如何正确地与特定类型的数据库进行交互。KingbaseV8的方言...
1. org.hibernate.dialect.Dialect abstract_class:Hibernate 对于每种数据库都定义了独有的方言,可以自定义方言。 2. org.hibernate.IdentifierGenerator Interface:定制主键的生成策略。 3. org.hibernate....
方言是Hibernate与特定数据库进行有效沟通的关键组件,负责处理SQL语法差异,确保跨数据库的一致性和兼容性。以下是对给定文件中提到的各个数据库方言的详细介绍: #### DB2 - **DB2 Dialect**:适用于IBM DB2通用...
2. org.hibernate.dialect.Dialect abstract_class:Hibernate 对于每种数据库都定义了独有的方言,比如 Oracle、MSSQL、Sybase 等数据库系统都有特定的方言。Hibernate 有不同实现了 Dialect 的类,每个类对应特定...
1. **hibernate.dialect**:这个参数指定Hibernate使用的数据库方言(Dialect),确保Hibernate能生成适合特定数据库的SQL语句。例如,如果使用的是MySQL,可以设置为`org.hibernate.dialect.MySQLDialect`。 2. **...
方言(Dialect)是Hibernate中的一个关键组件,它定义了如何与特定的数据库管理系统(DBMS)进行通信的规则和语法。 瀚高数据库,全称为HighGo Database,是一款源自中国的高性能、安全可靠的开源数据库系统,适用于...