Robert Cemper · Apr 10, 2023 go to post

 other SQL tools. 

confirmed: 
I used ODBC + SQLGateway for access and operation from local IRIS
works perfectly.

Robert Cemper · Apr 10, 2023 go to post

read docu

• classmethod CompileList(ByRef list As %String = "", qspec As %String = "", ByRef errorlog As %String, ByRef updatedlist As %String) as %Status

Compile a list of items specified in 'list' and separated by commas, or an array list("item.MAC")="". You can also use ? or * wild cards and if you wish to exclude items pass ' before the item name which also supports wild card, e.g. "User.*.cls,'User.T*.cls". Each item on the list is sufixed by the type of item it is so to compile a class and a routine you could specify 'class.cls,routine.mac' The order of compilation is INT, CLS, MAC, CSR, CSP.
qspec is a list of flags or qualifiers which can be displayed with 'Do $system.OBJ.ShowQualifiers()' and 'Do $system.OBJ.ShowFlags()'. Note that while /mapped=0 qualifier applies to the pattern passed in by only searching the default routine database, however any compile is done in the current namespace. So it is possible a routine/class found with /mapped=0 may not be visible in the current namespace or may be a different version if there are complicated package mappings.

Robert Cemper · Apr 9, 2023 go to post

ACCOUNT SOLVED: with a new account name. may be a typo in the e-mail
THOUGH OPEN:   where is the admin contact

Robert Cemper · Apr 9, 2023 go to post

I tried to create an account on https://portal.sql-contest.isccloud.io/account/login

Just the welcome mail never arrived.
the page proposed to contact admin in this case   

Note: If you do not receive an email, it might be that the username or email address entered is not registered for an account. If you are unable to remember the username or email address you used to sign up for an account, please contact your system administrator for assistance.

No further notice. Who is that system admin? Which mail ?
Not so impressive
 

Robert Cemper · Apr 9, 2023 go to post

from docs:
If you are using a UNIX® or Linux system, you can provide a list of alias definitions which the Terminal will set automatically at the start of every session. Define these aliases (one per line) in a file named .iris_init in the home directory.
never tried this. I rarely work on *X

Robert Cemper · Apr 8, 2023 go to post
USER>:?
 :<number>    Recall command # <number>
 :?           Display help
 :py          Do$system.Python.Shell()
 :mdx         Do$system.DeepSee.Shell()
 :sql         Do$system.SQL.Shell()
 :tsql        Do$system.SQL.TSQLShell()
 :alias       Create/display aliases
 :clear       Clear history buffer
 :history     Display command history
 :unalias     Remove aliases

HTH

Robert Cemper · Apr 8, 2023 go to post

Thanks a lot!
So team working in the actual contest has to be organized differently

Robert Cemper · Apr 7, 2023 go to post

I'm invited as ADMIN and I accepted
but the Deployment remains on PENDING with no access.

 

I seem to miss something essential.

????????????????????????????????????????

Robert Cemper · Apr 7, 2023 go to post

I just saw this.  if accepted tenant

now it's clear what is expected process
and now my deployments are visible,
 

FIXED.

Robert Cemper · Apr 6, 2023 go to post

???  looks like Move to End only works once after Open   not sure after Rewind

Robert Cemper · Apr 6, 2023 go to post

instead of %File, I'd suggest to use %Stream.FileCharacter
it has a method MoveToEnd()  that's what might solve your append issue
more

Robert Cemper · Apr 1, 2023 go to post

if Sifra is the IDKEY of Material what is the difference
between Material (which is the ID already) and Material->Sifra  ???

Robert Cemper · Apr 1, 2023 go to post

While %FromJSON() accepts a String or a character Stream as Input
you have in IRIS also %FromJSONFile() that allows direct input from file
and shortcuts the creation of a Stream.
But for both cases take care of encoding  (I'm burned)
​​​​​​​NOTE: RFC 7159 specifies that the default encoding for JSON values uses UTF-8

Robert Cemper · Mar 30, 2023 go to post

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.

Robert Cemper · Mar 30, 2023 go to post

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.

Robert Cemper · Mar 28, 2023 go to post

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.
 

Robert Cemper · Mar 27, 2023 go to post

I would like to see this as an important and useful Tutorial!

And definitely more useful than copying the use of Class queries 3 times at least.
 

Robert Cemper · Mar 27, 2023 go to post

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.
 

Robert Cemper · Mar 19, 2023 go to post

Oh Dear!

but Memory was expensive.
But my first DSM-like OS on VAX was only ~ 80KB code at run time. (40+ years back)
All the rest for Partitions and Buffers,  .