Difference between revisions of "EclipseLink/FAQ/JPA/Sybase"

From Eclipsepedia

< EclipseLink‎ | FAQ‎ | JPA
Jump to: navigation, search
(Common Issues)
 
Line 14: Line 14:
 
* ''"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."''
 
* ''"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().
 
:: This seems to be a Sybase JDBC/stored procedure issue, EclipseLink provides one solution through the API, session.getLogin().handleTransactionsManuallyForSybaseJConnect().
 +
 +
[[Category:EclipseLink FAQ|Sybase]]
 +
[[Category:EclipseLink|Sybase]]

Latest revision as of 10:45, 19 May 2011

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).

[edit] 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().