title: Using SymmetricDS to connect to a firebird database
body: <p>I want to synchronise two databases, one of them being a Firebird database. I am currently trying to use <a href="http://www.symmetricds.org/" rel="nofollow noreferrer">SymmetricDS</a> for this. I am having trouble connecting to a Firebird database, unfortunately:</p>
  
  <p>Firstly, I used Firebird's isql tool to create a new 'empty' database called test.fbd.</p>
  
  <p>I specified the class name for the JDBC Driver in the properties file as follows:
  <code>db.driver=org.firebirdsql.jdbc.FBDriver</code></p>
  
  <p>I specified the JDBC URL used to connect to the database in the properties file as follows:
  <code>db.url=jdbc:firebirdsql:localhost:&lt;path to database&gt;\TEST.FDB"?encoding=UTF8</code></p>
  
  <p>I then test whether I can connect to this firebird database called test.fbd:
  <code>bin/dbsql --engine omni-000</code></p>
  
  <p>However, no matter what I do, it throws an exception, saying the database is unavailable.</p>
  
  <p>Below is the full output.</p>
  
  <p>Just a side note - I was able to connect to the test.fbd database using Firebird's isql tool and I could connect to it using DBeaver.</p>
  
  <pre><code>[] - AbstractCommandLauncher - Option: name=engine, value={omni-000}
  [] - AbstractSymmetricEngine - Initializing connection to database
  [] - BasicDataSourceFactory - Setting required database connection property columnLabelForName=true
  </code></pre>
  
  <pre><code>An exception occurred. Please see the following for details:
  org.firebirdsql.jdbc.FBSQLExceptionInfo: unavailable database
  [wrapped] java.sql.SQLException: unavailable database [SQLState:08001, ISC error code:335544375]
  at org.firebirdsql.gds.ng.FbExceptionBuilder$Type$1.createSQLException(FbExceptionBuilder.java:532)
  at org.firebirdsql.gds.ng.FbExceptionBuilder.toFlatSQLException(FbExceptionBuilder.java:302)
  at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readStatusVector(AbstractWireOperations.java:138)
  at org.firebirdsql.gds.ng.wire.AbstractWireOperations.processOperation(AbstractWireOperations.java:202)
  at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readSingleResponse(AbstractWireOperations.java:169)
  at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readResponse(AbstractWireOperations.java:153)
  at org.firebirdsql.gds.ng.wire.AbstractWireOperations.readGenericResponse(AbstractWireOperations.java:255)
  at org.firebirdsql.gds.ng.wire.version10.V10WireOperations.authReceiveResponse(V10WireOperations.java:60)
  at org.firebirdsql.gds.ng.wire.version10.V10Database.authReceiveResponse(V10Database.java:569)
  at org.firebirdsql.gds.ng.wire.version10.V10Database.attachOrCreate(V10Database.java:111)
  at org.firebirdsql.gds.ng.wire.version10.V10Database.attach(V10Database.java:81)
  at org.firebirdsql.jca.FBManagedConnection.&lt;init&gt;(FBManagedConnection.java:144)
  at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:540)
  at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:65)
  at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:124)
  at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:137)
  at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
  at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
  at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
  at org.jumpmind.db.util.ResettableBasicDataSource.createPoolableConnectionFactory(ResettableBasicDataSource.java:72)
  [wrapped] java.sql.SQLException: Cannot create PoolableConnectionFactory (unavailable database [SQLState:08001, ISC error code:335544375])
  at org.jumpmind.db.util.ResettableBasicDataSource.createPoolableConnectionFactory(ResettableBasicDataSource.java:78)
  at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
  at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
  at org.jumpmind.db.platform.JdbcDatabasePlatformFactory.determineDatabaseNameVersionSubprotocol(JdbcDatabasePlatformFactory.java:221)
  [wrapped] org.jumpmind.db.sql.SqlException: Error while reading the database metadata: Cannot create PoolableConnectionFactory (unavailable database [SQLState:08001, ISC error code:335544375])
  at org.jumpmind.db.platform.JdbcDatabasePlatformFactory.determineDatabaseNameVersionSubprotocol(JdbcDatabasePlatformFactory.java:291)
  at org.jumpmind.db.platform.JdbcDatabasePlatformFactory.createNewPlatformInstance(JdbcDatabasePlatformFactory.java:176)
  at org.jumpmind.symmetric.ClientSymmetricEngine.createDatabasePlatform(ClientSymmetricEngine.java:390)
  at org.jumpmind.symmetric.ClientSymmetricEngine.createDatabasePlatform(ClientSymmetricEngine.java:335)
  at org.jumpmind.symmetric.AbstractCommandLauncher.getDatabasePlatform(AbstractCommandLauncher.java:408)
  at org.jumpmind.symmetric.DbSqlCommand.executeWithOptions(DbSqlCommand.java:75)
  at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:192)
  at org.jumpmind.symmetric.DbSqlCommand.main(DbSqlCommand.java:44)&lt;/init&gt;
  </code></pre>