Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Vaadin SQLContainer with tableQuery Problem
Hi
i have been working with the sqlContainer and it's tableQueries, but i'm stuck with a weird exception :
SQLContainer.getPropertyIds Failed to fetch property ids, rolling back
java.sql.SQLException: Statement is closed
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.checkClosed(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.clearParameters(Unknown Source)
at org.ow2.jonas.dbm.internal.cm.JStatement.reuse(JStatement.java:164)
at org.ow2.jonas.dbm.internal.cm.JManagedConnection.prepareStatement(JManagedConnection.java:856)
at org.ow2.jonas.dbm.internal.cm.JManagedConnection.prepareStatement(JManagedConnection.java:872)
at org.ow2.jonas.dbm.internal.cm.JConnection.invoke(JConnection.java:140)
at $Proxy27.prepareStatement(Unknown Source)
at com.vaadin.data.util.sqlcontainer.query.TableQuery.executeQuery(TableQuery.java:402)
at com.vaadin.data.util.sqlcontainer.query.TableQuery.getResults(TableQuery.java:170)
at com.vaadin.data.util.sqlcontainer.SQLContainer.getPropertyIds(SQLContainer.java:1061)
at com.vaadin.data.util.sqlcontainer.SQLContainer.<init>(SQLContainer.java:131)
at com.orange.cegelece.itinisere.tabs.DataLogTab.initTableData(DataLogTab.java:212)
at com.orange.cegelece.itinisere.tabs.DataLogTab.buildResultForm(DataLogTab.java:171)
at com.orange.cegelece.itinisere.tabs.DataLogTab.<init>(DataLogTab.java:81)
at com.orange.cegelece.itinisere.TabSheetApplication.<init>(TabSheetApplication.java:66)
at com.orange.cegelece.itinisere.TabApplication.init(TabApplication.java:31)
at com.vaadin.Application.start(Application.java:554)
at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.startApplication(AbstractApplicationServlet.java:1213)
at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:484)
...
2012-04-27 17:18:09,931 JConnection.invoke Cannot work with a closed Connection
I'm using a hsqldb database in jonas webserver, and my source code looks like this :
DataSource dataSourceJndiName = (DataSource) context.lookup("jdbc_1");
J2EEConnectionPool pool = new J2EEConnectionPool(dataSourceJndiName);
TableQuery tq = new TableQuery("MESSAGETRACE", pool);
SQLContainer container = new SQLContainer(tq);
resultsTable.setContainerDataSource(container);
Any suggestions?
Thank you in advance,
Bonjour,
I just faced the same issue with the SimpleJDBCConnectionPool using MS SQL server.
Your post is 2 years old. Did you find a solution ?
Merci
I used a FreeformQuery instead of TableQuery and it worked.
Hi, I am new to Vaadin and stuck with the following exception. Can anyone please help with this?
Thanks.
WARNING: Failed to fetch property ids, rolling back
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.vaadin.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool.createConnection(SimpleJDBCConnectionPool.java:139)
at com.vaadin.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool.initializeConnections(SimpleJDBCConnectionPool.java:91)
at com.vaadin.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool.reserveConnection(SimpleJDBCConnectionPool.java:98)
at com.vaadin.data.util.sqlcontainer.query.FreeformQuery.beginTransaction(FreeformQuery.java:322)
at com.vaadin.data.util.sqlcontainer.SQLContainer.getPropertyIds(SQLContainer.java:1060)
at com.vaadin.data.util.sqlcontainer.SQLContainer.<init>(SQLContainer.java:128)
Well it seems to be quite obvious: using the user root an the password YES wasn't right when trying to authenticate to localhost or you're missing a port.
@Marius Reinwald: Thank you for taking note of my problem. It is solved now.
The Mysql connector had wrong path.