· Sep 24, 2021

Crash occured while updating record - [Cache Error: <<MAXSTRING>zExecute+3^%sqlcq.LIM.cls1043369.1>]. Any idea about this error?

[SQLCODE: <-400>:<Fatal error occurred>]
[Cache Error: <<MAXSTRING>zExecute+3^%sqlcq.LIM.cls1043369.1>]
[Location: <ServerLoop>]
[SQLCODE: <-400>:<Fatal error occurred>]
[Cache Error: <<MAXSTRING>zExecute+3^%sqlcq.LIM.cls1043369.1>]
[Location: <ServerLoop>]
   at InterSystems.Data.CacheClient.CacheADOConnection.GetServerError(Int32 rc)
   at InterSystems.Data.CacheClient.CacheADOConnection.processError(Int32 error, Int32 allowError)
   at InterSystems.Data.CacheClient.InStream.readHeader(Int32 stmt_id, Int32 type, Int32 allowError)
   at InterSystems.Data.CacheClient.CacheCommand.sendDirectUpdateRequest()
   at InterSystems.Data.CacheClient.CacheCommand.Execute()
   at InterSystems.Data.CacheClient.CacheCommand.ExecuteReaderObject(CommandBehavior behavior, String method)
   at InterSystems.Data.CacheClient.CacheCommand.ExecuteNonQuery()



Property details given below. we are using update statement.

Property SpecimenExtracts As %Stream.GlobalCharacter;

Product version: Caché 2017.1
$ZV: Cache for Windows (x86-64) 2017.2.2 (Build 867_4) Fri Apr 24 2020 17:47:10 EDT
Discussion (3)2
Log in or sign up to continue

MAXSTRING usually indicates that you're exceeding the maximum possible length of a string somewhere. Are you sure it's a problem with the %Stream.GlobalCharacter, and not a different string variable in your program? Global character streams shouldn't have that problem.

You can see what the maximum length of a string is on your system by opening a terminal and running:

write $SYSTEM.SYS.MaxLocalLength()