cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC Connection Error

Former Member
0 Kudos
4,171

Hello,

I'm trying to create a Data Source Name in Adobe ColdFusion Standard v11 server using Sybase jConnect 6.05 JDBC driver connecting to a Sybase SQL AnyWhere 12 Server (running on another server machine).

I have done everything mentioned on this page (of course, the driver class and other details have been modified) ColdFusion MX: Configuring the Sybase jConnect 5.5 driver

When I try to verify the connection in CF Administrator, it throws the following error:

Connection verification failed for data source: ars_jdbc
java.sql.SQLException: The method com.sybase.jdbc3.jdbc.SybDatabaseMetaData.getJDBCMajorVersion() has not been completed and should not be called.

The root cause was that: java.sql.SQLException: The method com.sybase.jdbc3.jdbc.SybDatabaseMetaData.getJDBCMajorVersion() has not been completed and should not be called.


I know that, all the connection parameters are correct because I have been able to create a DSN on another CF instance (CF 9) to the same database that I am trying to create a DSN for from CF 11. Please guide me in the right direction to fix the problem.

Thanks.

Milind

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Jack is absolutely correct about this method not being implemented in the copy of JConnect 6.05 you are running with. These getJDBC{Major|Minor}Version( ) metadata methods were added later (post initial release) . . . so it is probable you just need to apply a more recent EBF than the one you are running with or go with JConnect 7.0x (Jack's 2nd posting)

From the cover letter for Sybase Rollup EBF 19798 you will note the addition of this support was only added in build#/ebf# 13251 as part of change# 416759.

List of Fixes for EBF 19798


Following is a list of fixes which are cumulative to this release. Each fix is listed along with the EBF in which it was first released and the description of the problem. The list is sorted by the EBFID column.

EBFID BugID Description ----- -------- -------------------------------------------------

13251 416759 jConnect: Request to support getDatabaseMajorVersion(), getDatabaseMinorVersion(), getJDBCMajorVersion() and getJDBCMinorVersion() functions on the DatabaseMetaData class.

HTH

P.S. Incidentally some JConnect specific EBFs are still available on the Sybase downloads site as either JConnect for JDBC or as part of the Sybase Software Development Kit (a.k.a. the Sybase SDK).

jack_schueler
Product and Topic Expert
Product and Topic Expert
0 Kudos

I searched for this message and came up with the following explanation of the error.

The method _ has not been completed and should not be called.

Description: You attempted to use a method that is not implemented.

Action: Check the release bulletin that came with your version of jConnect for further information. You can also check the jConnect Web page at http://www.sybase.com to see whether a more recent version of jConnect implements the method. If not, do not use the method.

So it sounds like ColdFusion is making this call. It is odd that 5.5 would have implemented this method and 6.05 no longer has it.

I did another search and it looks like jConnect 7.0 EBF 17270 might support it. The article poster had coded this sequence and reported that it displayed 3.

Connection con = DriverManager.getConnection(url, username, password);
DatabaseMetaData dm = con.getMetaData();
System.out.println("Connection is valid: "+dm.getJDBCMajorVersion());


I'd give this version a try.

By the way, jConnect is not a component of SQL Anywhere (in other words, it was not developed by the SQL Anywhere team).

jack_schueler
Product and Topic Expert
Product and Topic Expert
0 Kudos

I should also ask if you have tried to use the SQL Anywhere JDBC 4 driver. I know that it implements getJDBCMajorVersion().