I am not able to access the Firebird configuration string, and it works perfectly in MySQL.
package testej;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class TesteConexao {
public static void main(String[] args) {
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
String URL = "jdbc:firebirdsql:localhost/3050:C:/DB/DASHBOARD.FDB";
String usuario = "SYSDBA";
String senha = "masterkey";
Connection conn = DriverManager.getConnection(URL, usuario, senha);
System.out.println("Conexão efetuada com sucesso!");
conn.close();
} catch (ClassNotFoundException | SQLException ex) {
ex.printStackTrace();
}
}
}
java version "1.8.0_311", my firebird is 3.0.10 33601 x64, jdbc driver jaybird4.0.8 1.8 ,jaybird 3.0.12 1.8 , jaxb.2.3.0
java.lang.ClassNotFoundException: org.firebirdsql.jdbc.FBDriver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at testej.TesteConexao.main(TesteConexao.java:12)
The error means that Jaybird is not on the classpath. When running your application, make sure you specify the correct classpath (you need both
jaybird-4.0.8.java8.jar
andconnector-api-1.5.jar
):For example:
or (only)
jaybird-full-4.0.8.java8.jar
:When running from Linux, use
:
as the classpath separator instead of;
.As an aside, explicitly loading the driver with
Class.forName
hasn't been necessary since Jaybird 2.2 on Java 6 or higher.