- This topic has 4 replies, 4 voices, and was last updated 18 years, 3 months ago by
Haris Peco.
-
AuthorPosts
-
rawathMemberhi,
the problem is like this..i hv connected to SQL server 2000 and its working i mean i can write sql query in sql editor and query to tables in schema…bt when i m trying to create hibernate mappings..its giving me error…
Message is :- An internal error occurred during: “Generating Artifacts”.
Error :- org.hibernate.exception.GenericJDBCException: Could not get list of tables from database. Probably a JDBC driver problem.
Configured schema:null
Configured catalog:pubs
<SQLException while getting schemas>
<SQLException while getting 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:382)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:62)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration$1.readDatabaseSchema(MEJDBCMetaDataConfiguration.java:82)
at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:85)
at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:109)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$5.execute(GenerateArtifactsJob.java:393)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:35)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:68)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:388)
at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:255)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
Caused by: java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.putTablePart(JDBCMetaDataDialect.java:202)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.access$000(JDBCMetaDataDialect.java:25)
at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.convertRow(JDBCMetaDataDialect.java:77)
at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:47)
… 11 morecan ny body help me in this regard..what mistake i’m making…
Brian FernandesModeratorrawath,
If you could please answer all the questions here: Posting Guidelines
Also, please include details of the driver jar(s), driver version and driver class you are using to connect to your database. In most cases, upgrading to a recent driver will solve this problem.
Best,
Brian.
Haris PecoMemberrawath,
I suppose that you have problem with jdbc-odbc driver (we talk in another thread , correct ?)
It’s better that you maek efforts for jdbc driver – odbc and jdbc are incompatible and you can have trouble with
this (it depend from version jdk, windows, database server etc).JDBC work much better and there is compatible JDBC driver with MS SQL 2000
We have fixed a lot bugs for MS SQL, but we haven’t tried with MS SQL 2000.I think that pure JDBC have to work (i prefer jtds, but you can try MS)
It is the best that you try with simple test like after .When test success you can set ME environment
(you need junit 3.x jar and call run-as junit test from eclipse )Best
Test class :
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import junit.framework.TestCase; public class MSSqlTest extends TestCase { // for jTDS //private String driverName = "net.sourceforge.jtds.jdbc.Driver"; private String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // for jtds //private String url = "jdbc:jtds:sqlserver://YOUR HOST:1434/YOUR DATABASE"; private String url = "jdbc:sqlserver://YOUR_HOST:1434"; private String username = "YOU USERNAME"; private String password = "YOUR PASSWORD"; public MSSqlTest(String name) { super(name); try { Class.forName(driverName); } catch (Exception e) { e.printStackTrace(); System.exit(1); } } public void testObjects() { Connection connection = null; try { connection = getConnection(); DatabaseMetaData dm = getConnection().getMetaData(); ResultSet catalogs = dm.getCatalogs(); while (catalogs.next()) { String catalogName = catalogs.getString("TABLE_CAT"); System.out.println("catalogName=" + catalogName); ResultSet schemas = dm.getSchemas(); while (schemas.next()) { String schemaName = schemas.getString("TABLE_SCHEM"); System.out.println(" schemaName=" + schemaName); ResultSet tablesRs = dm.getTables(catalogName, schemaName, null, new String[] { "TABLE", "VIEW" }); while (tablesRs.next()) { String tableName = tablesRs.getString("TABLE_NAME"); System.out.println(" table=" + tableName); } } } } catch (SQLException e) { e.printStackTrace(); fail(); } finally { try { if (connection != null) connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } public Connection getConnection() throws SQLException { return DriverManager.getConnection(url, username, password); } }
saupinkyMemberI am also having same issue while generating hibernate mappings from table with sql server 2000. I have used jTDS1.2 driver as well as sqljdbc.jar driver. I am still getting same error.
Please help me here………..
Thanks
Saurabh
Haris PecoMemberSaurabh,
Please, can you send us log (Help>About Eclipse SDK>Configuration Details>View Error Log)
Thanks
-
AuthorPosts