这两天,遇到一个很郁闷的问题。我用的是STRUTS1.2,SPRING 2.5已经HIBERNATE 3.2,这些框架。在MYECLIPSE下用工具反向数据表的时候,出现了一下的问题
!ENTRY org.eclipse.core.jobs 4 2 2009-02-27 13:48:51.296
!MESSAGE An internal error occurred during: "Generating Artifacts".
!STACK 0
org.hibernate.HibernateException: unknown Oracle major version [0]
at org.hibernate.dialect.DialectFactory$1.getDialectClass(DialectFactory.java:135)
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:65)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2005)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:72)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$7.execute(GenerateArtifactsJob.java:877)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:65)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:91)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:858)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:405)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
我在网上找了很多资料,有的说重新装myeclipse,我觉得这不是根本的问题所在。经过我的多次试验,我总结出来的原因是:数据库的驱动不匹配。假如你在MYECLIPSE下用class12.jar 连接数据库的话,在项目工程中的lib文件夹下一定要有这个包,换句话说就是要在工程中导入这个JAR包。假如你在MYECLIPSE下用ojdbc14-10g.jar连接数据库的话,在项目工程中的lib文件夹下一定要有这个包,换句话说就是要在工程中导入这个JAR包。
要是你用的数据库是SQL 2000的话,只要打一个SQL SP3的补丁即可。