SQL type TEXT maps correctly to %Stream.GlobalCharacter,
- anyhow this gets not granted on the way from ADO to IRIS-

it would be useful to check if the behavior is the same with a normal ODBC tool.
I tested recently the opposite direction from IRIS to WinSQL and that was OK.

Since transmitting streams always requires some chopping and assembling
at both ends not to break the buffers, it is important if the error persists outside ADO.

just a minor part:
Is it possible while sending an insert/Update to database via the ado driver for iris, that this SQL is executed without creating a cached query?
NO:
In IRIS and also the latest of Caché / Ensemble every query is cached. 
real non-cached queries date back by ~ 10 years. It wasn't just that visible.
 
As you describe it, it seems the LONGVARCHAR or LONGVARBINARY
are not honored correctly when coming from ADO.

pls. Check the related class definition.
And be aware that once created as VARCHAR it can't be changed  
dynamically to LONGVARCHAR  on the fly. This type is a static definition.

I see you disliked my previous reply and retitled your article.
so again:

Could be, I misunderstand the purpose of the example.
Before LOAD DATA was available with IRIS this was the still valid approach

  • I opened my CSV in EXCEL
  • Connected by the EXCEL DSN over SQL Gateway using ODBC
  • and did the import.
  • %XML.Adaptor does the rest. If required at all.

And was done before my breakfast coffee became even lukewarm.
And not a single line of code was required!

Sorry, where is the advantage?

And personally, I prefer to work with well trained qualified engineers
instead of a guess & try a program somewhere whether for Py or COS or anything else.
 

if you take a look to method ##class(EnsLib.HL7.Segment).getAtFromArray(...)
you see that the segment data is assembled in row 1008 of the class by  Set data=data_value 
without checking the size.
So it is designed to fail with large documents as your Base64 encoded PDF (~+33% of original)
So just using a reference to an external stored file as you suggested should work. 

 

BTW datatype %VarString is just a shortcut of %String(MAXLEN="") and a sometimes appropriate SQLTYPE.