Robert Cemper · Aug 15, 2023 go to post

good point:
there are only  17 rules referring to BUGS:

In total the quality check shows 106 rules

So there is more and I personally deeply disagree with some of them

Robert Cemper · Aug 15, 2023 go to post

Not a ready-to-use solution, but a way to take

  1. export the global by SMP or embed %system.OBJ.Export to create *.XML file
  2. download it using <a href="~file_location~" download> explanation
Robert Cemper · Aug 14, 2023 go to post

With JOB you start an independent process in background.
You can pass any variable you may need.
But you can't pass the connection to the CSP page with all its settings.
the connection stays with the foreground job. 

Robert Cemper · Aug 12, 2023 go to post

there is a standard utility %ETN that writes such logs with the stack 
and all other $system variables into the global ERRORs
if you call it by LOG^%ETN it does a kind of snapshot
details here  take a look
 

Robert Cemper · Aug 11, 2023 go to post
  • not usable for Docker Windows Desktop
  • KITVERSION=latest  is just wishful thinking

😒😟

Robert Cemper · Aug 11, 2023 go to post

Are community images from intersystemsdc/  also affected ?

  • this may relate to all templates on OEX
  • and also 430  packages on OEX using docker
Robert Cemper · Aug 9, 2023 go to post

According to class Class Contatos.Amiguinho you presented
Class Contatos.Empresa should look similar to this to work:

Class Contatos.Empresa Extends%Persistent
{
Relationship Nomedaempresa As 
    Contatos.Amiguinho [ Cardinality = many, Inverse = Trabalho ];Property Nome As%String;

Storage Default
}
Robert Cemper · Aug 9, 2023 go to post

you may run an export ^%G like on the remote server and then copy somehow the result

Robert Cemper · Aug 9, 2023 go to post

It's an orgy of IsDefined ($DATA) and GetNext( $ORDER) as equivalent of $QUERY is not implemented 

Robert Cemper · Aug 9, 2023 go to post

You just can insert existing IDs.
So you have to check first:

set emp=##class(Contatos.Empresa).%OpenId(IDt)
if $isObject(empDo objcontato.Trabalho.Insert(emp)

Robert Cemper · Aug 9, 2023 go to post

Relationship is an Object concept that has no direct equivalent in SQL to handle it
The "MANY" end is basically just a piece of code (RelationshipObject) to handle it.
By SQL you just can set it indirectly from the "ONE" end as you found yourself.
This is a real Property / Column that has a distinct value that you can touch and set
 

Robert Cemper · Aug 9, 2023 go to post

Instead of Set  
Setobjcontato.Trabalho=##class(Contatos.Empresa).%OpenId(IDt)  
you need to use method Insert()
Do objcontato.Trabalho.Insert(##class(Contatos.Empresa).%OpenId(IDt) 

See Docs

Robert Cemper · Aug 8, 2023 go to post

My 3rd Choice:

  • get a network file connection to the source DB
  • mount the DB over the network as remote drive 

mixing file systems Win / *UX  might be tricky

Robert Cemper · Aug 4, 2023 go to post

BTW:
whatever your method does it always terminate with Quit $$$OK
so whatever happens it is equivalent to
set SphereJauh=1
I assume you look for a different return value ? Is it ?

Robert Cemper · Aug 4, 2023 go to post

yourClassMethod GetSphereJauh(Id..... is located in some Class

so just call it as any other class method
set SphereJauh=##class(classname).GetSphereJauh(ATTRDesc)  

the fact that this is used as part of a custom class query is totally irrelevant in this context.
it is straightforward ObjectScript. nothing else

Robert Cemper · Jul 31, 2023 go to post

Now it is obvious that ^realglobal has 11.3 times the size of ^testglobal
while your ^testglobal seems to have all blocks in buffers in memory
this is rather unlikely for ^realglobal.
So repeated reloading of blocks from disk seems to cause the delay
If you have the chance to double or triple your global buffers
you most likely may see improved processing of your $O()

Robert Cemper · Jul 22, 2023 go to post

Follow up to @Dmitry Maslennikov:
Error on IRIS side:  ACCESS DENIED  ODBC can't connect ===> timeout
Why  ACCESS DENIED ? 
The most likely cause

  • you run multiple ODBC connections in parallel
  • you use the same fixed USER for access to IRIS
  • maximum license slots by user is ~25
  • once you pass the limit your 25 slots get converted to 25 single licenses
  • any further connection consumes a full license 
  • until you run out of available licenses ==> ACCESS DENIED
  • you can get out of that trap only if ALL connections of that user are closed 

You can avoid this by

  • limiting your ODBC connections below 24
  • or run your ODBC access in  serial mode
  • or use multiple users for access with limit <24
Robert Cemper · Jul 11, 2023 go to post

Muchas gracias ! 
Thank you all! 
400+ years back when my earliest documented ancestor was born
Spain+Austria was a World Wide Empire ("Casa Austria", Emperor Carlos V.) that ruled the globe.
I feel quite familiar with you.
Robert