0
点赞
收藏
分享

微信扫一扫

Oracle错误汇总:

TiaNa_na 2022-05-27 阅读 69

[color=red]1.[/color]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呢,它会所有的“方言”,我们要做的,就是告诉它,我们需要它说哪种“方言”。




<property name="dialect">org.hibernate.dialect.MySQLDialectproperty>
<property name="connection.driver_class">com.mysql.jdbc.Driverproperty>


<property name="connection.url">jdbc:mysql://localhost/dbname?characterEncoding=gb2312


<property name="connection.username">rootproperty>


<property name="connection.password">rootproperty>



<property name="dialect">org.hibernate.dialect.SQLServerDialectproperty>
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driverproperty>


<property name="connection.url">jdbc:jtds:sqlserver://localhost:1433;DatabaseName=dbname


<property name="connection.username">saproperty>


<property name="connection.password">property>




<property name="dialect">org.hibernate.dialect.OracleDialectproperty>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriverproperty>


<property name="connection.url">jdbc:oracle:thin:@localhost:1521:dbnameproperty>


<property name="connection.username">testproperty>


<property name="connection.password">testproperty>



则可能是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


举报

相关推荐

0 条评论