EclipseLink/FAQ/JPA/Sybase

From Eclipsepedia

Jump to: navigation, search

Sybase is a commercial relational database, currently owned by SAP. Sybase has existed since 1980.

  • Sybase supports most of JPA and most standard SQL and JPQL.
  • Sybase's primary JDBC driver is Sybase JConnect.
  • Sybase supports IDENTITY sequencing.
  • Sybase support temp tables (used in complex update/delete all queries from JPA).
  • Sybase supports stored procedures, (but has some issues).

Common Issues

  • "com.sybase.jdbc3.jdbc.SybSQLException: Operand type clash: VARCHAR is incompatible with VOID TYPE "
Sybase requires that any OUTPUT parameters be registered as INOUT parameters when called from JDBC.
  • "com.sybase.jdbc3.jdbc.SybSQLException: Stored procedure 'SProc_Read_InOut' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode."
This seems to be a Sybase JDBC/stored procedure issue, EclipseLink provides one solution through the API, session.getLogin().handleTransactionsManuallyForSybaseJConnect().