myeclipse5+hibernate3+oracle9i创建数据库表的的映射时出错eclipse32+myeclipse5+hibernate3+oracle9i创建数据库表的的映射时出错
弹出错误窗口,信息提示为:
An internal error occurred during:"Generation Artifacts"
另外:点DB Browser中的表点键->Generate->DDL时,ECLIPSE弹出错误窗口,信息提示为:Invalid column name.我怀疑与以上的错误有关。如果数据库选择为MYSQL,那么以上的错误就不会发生。下面是ECLIPSE的错误提示:
!ENTRY org.eclipse.core.jobs 4 2 2007-07-12 17:00:21.546
!MESSAGE An internal error occurred during: "Generating Artifacts".
!STACK 0
org.hibernate.exception.GenericJDBCException: Could not get list of tables from database. Probably a JDBC driver problem. 
Configured schema:TEST
Configured catalog:null
Available schemas:
  AURORA$JIS$UTILITY$
  AURORA$ORB$UNAUTHENTICATED
  CTXSYS
  DBSNMP
  HR
  MDSYS
  OE
  OLAPDBA
  OLAPSVR
  OLAPSYS
  ORDPLUGINS
  ORDSYS
  OSE$HTTP$ADMIN
  OUTLN
  PM
  QS
  QS_ADM
  QS_CB
  QS_CBADM
  QS_CS
  QS_ES
  QS_OS
  QS_WS
  RMAN
  SCOTT
  SH
  SYS
  SYSTEM
  TEST
  WKSYS
Available catalogs: at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:91)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:79)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.handleSQLException(JDBCMetaDataDialect.java:86)
at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:50)
at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:400)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:65)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration$1.readDatabaseSchema(MEJDBCMetaDataConfiguration.java:102)
at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:87)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:134)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$6.execute(GenerateArtifactsJob.java:514)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:35)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:70)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:509)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:293)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Caused by: java.sql.SQLException: Invalid column name
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285)
at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5278)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:698)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1505)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.convertRow(JDBCMetaDataDialect.java:79)
at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:47)
... 11 more

解决方案 »

  1.   

    是不是用了oracle9i 不支持的语法?
      

  2.   

    你再次配置一个连接
    你不会是用连接mysql的链接连接到oracle 上吧
    需要加载class12.jar包重新连接应该没问题的
      

  3.   

    在MyEclipse Database Explorer中对建立的db能够open的话,肯定是已经加载了classes12.jar了...
      

  4.   

    换个oracle9i的驱动程序包就可以了,class12.jar做映射时有点问题的,我以前也为这个问题困了很久哦,你用ojdbc14.jar就ok了
      

  5.   

    这个我也遇到过,我当时是因为在eclipse的数据库视图中把数据库连接配错了,改正之后就好了
    你好好看看连接的配置,例如驱动程序,连接的数据库是否正确。估计是驱动有问题