cancel
Showing results for 
Search instead for 
Did you mean: 

Using with liquibase - Driver not capable

Former Member
4,515

I am trying to use SQL Anywhere with Liquibase which should support it. I have encountered the following iAnywhere JDBC driver issue when trying to connect to it:

Caused by: java.sql.SQLException: [Sybase][JDBC Driver]Driver not capable at sybase.jdbc4.sqlanywhere.IDatabaseMetaData.getTablesN(Native Method) at sybase.jdbc4.sqlanywhere.IDatabaseMetaData.getTables(IDatabaseMetaData.java:720)

I have tried both with sajdbc4.jar and sajdbc.jar both seems to have this problem.

Could you please help me with this issue. Is there any other JDBC driver available? I have tried also jConnect in past but against SQL Anywhere 12 it has some issues with UTF8.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member

My guess is that Liquibase is passing in a catalog value and SA does not support catalogs. My suggestion would be to stick with the SQL Anywhere JDBC driver, but do the following:

1) create an ODBC DSN to connect to SQL Anywhere
2) Within the ODBC DSN, make sure you check the "Prevent driver not capable errors" check box.
3) Change your URL to be something like "jdbc:sqlanywhere:dsn=YourDSNFrom2Above;...

See if that gets you further.

jeff_albion
Product and Topic Expert
Product and Topic Expert

Note for others coming back to this thread: Only versions of Liquibase 2.x have this issue. This issue is resolved in Liquibase 3.x and higher.


Another alternative to using Karim's work-around above would be to directly use the ODBC option in the JDBC URL string, via the "PreventNotCapable" option:

 jdbc:sqlanywhere:uid=dba;pwd=sql;eng=demo;PreventNotCapable=y