facebook

Error while creating Hibernate mapping…

  1. MyEclipse Archived
  2.  > 
  3. Database Tools (DB Explorer, Hibernate, etc.)
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #247065 Reply

    rawath
    Member

    hi,
    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 more

    can ny body help me in this regard..what mistake i’m making…

    #247098 Reply

    Brian Fernandes
    Moderator

    rawath,

    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.

    #247110 Reply

    Haris Peco
    Member

    rawath,

    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);
        }
    
    }
    
    #265997 Reply

    saupinky
    Member

    I 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

    #266004 Reply

    Haris Peco
    Member

    Saurabh,

    Please, can you send us log (Help>About Eclipse SDK>Configuration Details>View Error Log)

    Thanks

Viewing 5 posts - 1 through 5 (of 5 total)
Reply To: Error while creating Hibernate mapping…

You must be logged in to post in the forum log in