я использовал getGeneratedKeys() с прямым вызовом класса, как это:getGeneratedKeys() не работает с JNDI в WildFly с Firebird
public static Connection getConnection() throws Exception {
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
String sql = "jdbc:firebirdsql:localhost/3050:e:\\COMPLEXO140116.FDB?defaultResultSetHoldable=True&encoding=WIN1252";
return DriverManager.getConnection(sql, "SYSDBA", "masterkey");
} catch (ClassNotFoundException e) {
throw new SQLException("Driver nao localizado.");
} catch (Exception e) {
e.printStackTrace();
throw new Exception("Erro na base de dados." + e.getMessage() + " fim msg");
}
}
и работает нормально, но после того, как я изменил
public class ConnectionFactory {
private static DataSource dataSource;
static {
try {
dataSource = (DataSource) new InitialContext().lookup("java:jboss/Firebird");
} catch (NamingException e) {
throw new ExceptionInInitializerError("'jndifordbconc' not found in JNDI");
}
}
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
}
Он перестает работать давая ошибку:
org.firebirdsql.jdbc.FBDriverNotCapableException: Generated keys functionality not available, most likely cause: ANTLR-Runtime not available on classpath
Я использую WildFly 10, Firebird 2.5.5, Jaybird 2 .2.9. antlr-4.5.2-complete.jar присутствует на пути построения, возможно, это не является причиной, так как он работал до изменения до пути JNDI. И wildfly несет собственный antlr 2.7.7.
Да, это решило мою проблему. – erickdeoliveiraleal
@erickdeoliveiraleal Любые возражения, если я переведу свое редактирование на свой вопрос к моему ответу? –
нет, любые возражения. – erickdeoliveiraleal