CA Datacom Server with SQLMEM=FREE may result in error: SQLCODE -134 - Unknown dynamic/cursor statement-id (aaaa)

Document ID : KB000033616
Last Modified Date : 14/02/2018
Show Technical Document Details

Issue:

CA Datacom Server with SQLMEM=FREE may result in error:

     SQLCODE -134 - Unknown dynamic/cursor statement-id (aaaa)    

Environment:

z/OS

Cause:

SQLMEM=FREE is being used when there the applications with JDBC prepared statements.

Resolution:

Use SQLMEM=KEEP on Datacom Servers with application that have JDBC prepared statements.

SQLMEM can be specified via Datacom Server startup option or can be modified while the server is active via console command.

Additional Information:

From CA Datacom Server User Guide Version 14.02 

https://support.ca.com/cadocs/0/CA%20Datacom%20Server%2014%200-ENU/Bookshelf_Files/PDF/DSV1402_User_ENU.pdf

"...

SQLMEM= 

(Optional) Specifies the status of SQL statement storage when a cursor is closed. Traditionally, The SQL statement storage is kept in memory for reuse if the statement is re-executed, perhaps with different parameters. 

SQLMEM=KEEP specifies that SQL statement storage is kept in memory for reuse. It allows an application to prepare a statement once and execute it multiple times without intervening prepares. JDBC applications that use the PreparedStatement interface require SQLMEM=KEEP. 

SQLMEM=FREE specifies that SQL statement storage is released upon cursor close. Prepared statement storage is not saved. Any attempt to re-execute a statement without an intervening prepare results in SQLSTATE 07033 and SQLCODE -134 – Unknown dynamic/cursor statement-id (aaaa). SQLMEM=FREE reduces SQL memory usage in MUF. 

..."

Also, see TEC613711 "CA Datacom Server Mainframe 14.0 Console Commands cheat sheet"http://www.ca.com/us/support/ca-support-online/product-content/knowledgebase-articles/tec613711.aspx