1.ERROR: HHH000319: Could not get database metadata
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:173)
at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:194)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:178)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:480)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1740)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1778)
at hibernate.conn.HibernateUitl.<clinit>(HibernateUitl.java:17)
at hibernate.conn.UserDAOImpl.findUserByName(UserDAOImpl.java:34)
at hibernate.conn.TestDAO.main(TestDAO.java:22)
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:361)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
... 16 more
2013-1-17 10:08:44 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
解决方法:
SQL> alter database open;
数据库已更改。
3.ora-00923 未找到要求的from语句;
有说到oracle的方言设置出错,于是在hiberna的配置文件中将方言改为
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
问题解决。
上网再了解一下方言:
因为不同的数据库,在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
分享到:
相关推荐
这篇"ORACLE错误大全"的文档很可能是对Oracle数据库常见错误的汇总,包含了详细的错误代码、错误含义以及可能的解决方法。虽然没有提供具体的文档内容,但我们可以根据常见的Oracle错误类型和处理策略进行一些讨论。...
然而,在日常操作和维护过程中,数据库管理员(DBA)可能会遇到各种错误信息,这些错误信息是Oracle系统在运行时由于不同原因产生的。"Oracle10g 报错信息汇总"旨在帮助DBA迅速识别和解决这些问题。 报错信息通常是...
- **降低管理成本**:通过自动化工具减少帮助台呼叫量,同时实现审计报告的自动化和汇总,显著降低了企业的管理成本。 - **提高用户产能**:用户访问系统的等待时间大幅缩短,自动化供应机制可以在六个月内实现212%...
Oracle层次汇总存储过程是Oracle数据库中用于处理层级数据的一种高效技术。在数据库设计中,层级数据常见于组织结构、产品目录、地理位置等场景。Oracle提供了几种处理层级数据的方法,包括自连接、递归子查询、...
Oracle数据库在处理错误和异常时有一套完整的机制,这些异常主要分为预定义异常和自定义异常。预定义异常是Oracle系统已经内置的一些常见错误,它们都有对应的错误代码(ORA-xxx)。下面,我们将深入探讨一些常见的...
Oracle错误信息通常会以一个特定的错误代码和伴随的错误消息出现,例如“ORA-00001”(唯一性约束违反)或“ORA-01403”(没有找到数据)。错误信息.chm文件可能是一个帮助文档,包含了Oracle数据库系统中可能出现的...
本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务数低于5%...
Oracle数据库在日常运行中可能会遇到各种故障,这些故障可能会影响到数据库的正常运行、性能或安全性。以下是一些常见的Oracle数据库故障及其原因与解决方案: 一、数据库挂起故障 1. ARCHIVE挂起:当归档日志过程...
- 出现该错误的原因通常是在同时安装了Oracle的数据服务和客户端时,两者之间出现了重复配置Net Manager的情况。 2. **解决思路**: - 将`D:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora`文件...
### Oracle服务器命令行工具汇总 #### 一、数据库管理相关 在Oracle服务器中,通过一系列命令行工具可以高效地管理数据库。以下是一些常用的数据库管理工具及其功能介绍: 1. **bbed.exe**:这是一个数据块浏览和...
Oracle 9i支持联机分析处理(OLAP),提供快速的数据汇总和多维数据分析。Data Mining特性使得数据库能够进行预测分析,帮助企业做出数据驱动的决策。 七、高可用性与故障恢复 Oracle 9i的实时应用集群(RAC)允许...
`oracle错误代码和信息速查手册.chm`很可能是一本详尽的错误代码参考,其中列出了Oracle数据库可能出现的各种错误代码及其对应的解释。了解这些错误代码可以帮助开发者快速定位问题,提高故障排除效率。 3. **...
"oracle相关rpm安装文件汇总"这个压缩包很可能包含了用于在Linux系统上安装Oracle数据库所需的各种RPM文件。这些文件可能包括数据库服务器、客户端工具、管理工具、开发库以及必要的依赖项。Oracle11g是其中的一个...
根据提供的文件信息,本文将对Essbase错误信息进行详细的总结与解释。Essbase是Oracle Hyperion Planning和Hyperion Financial Management等应用的核心计算引擎,属于Oracle EPM (Enterprise Performance Management...
- AGGREGATE FUNCTIONS:如SUM、AVG,用于汇总数据。 #### 四、子查询与函数 子查询允许在SQL语句中嵌入另一个查询,以获取更灵活的数据检索能力。Oracle提供了多种内置函数,如字符串函数、数值函数、日期函数等,...
PL/SQL是Oracle公司提供的过程化SQL语言,它提供了流程控制、复合数据类型、错误处理等高级特性。在报表中使用PL/SQL可以编写复杂的查询逻辑和条件表达式。 10. ODBC ODBC(开放数据库连接)是数据库通用访问标准的...
"Oracle9i_errors.chm"和"Oracle_Errors.chm"可能是Oracle错误代码参考手册,这些手册对遇到的各种错误代码进行了解释,帮助用户快速定位并解决问题,是数据库管理员日常工作中不可或缺的工具。 "Ora92ErrMsg.chm...