Robert Cemper · Jul 6, 2024 go to post

4 options:

  • map it to namespace %ALL
  • naming it with  % as first character places in %SYS namespace (e.g. ^%MUTHU) 
    • that traditional approach is possible but not recommended
  • naming it ^mtemp.*,  ^CacheTemp*, ^IRIS.Temp* allocates it in db IRISTEMP
  • subscript level mapping allows partial mapping  (e.g. to IRISTEMP)  
Robert Cemper · Jul 4, 2024 go to post

Manipulating time values is a risky ground. See this simple example.
 

USER>write ?1%, $ZTZ," : ",$zdt($ZTS)," : ",$zdt($now())," : ",$zdt($h)
               -60 : 07/04/2024 16:03:42 : 07/04/2024 17:03:42 : 07/04/2024 18:03:42
  • $ZTZ  is the geographic offset to UTC in minutes
  • $ZTS is UTC time  (no daylight saving !)
  • $NOW() is UTC adjusted by $ZTZ   (no daylight saving  or special time zone adjustment)
  • $H is based on the time set in your server OS  

So for international applications using anything else than UTC is an open trap you might be caught in.

This was the original motivation to use UTC in ENSEMBLE and it's descendants and followers 

Robert Cemper · Jul 4, 2024 go to post

traditional style:
 

Set From = "2024-07-04 13:21:16.477"
Set To = $tr(From," -:")\1
Robert Cemper · Jul 3, 2024 go to post

Pls be more precise:
- where do your data come from and how?
- where do you expect to store them ?
- what do you mean by "linked servers" ?
NO ODBC: in general in  IRIS almost every table can be accessed also as object..

Robert Cemper · Jul 1, 2024 go to post

My driver loaded using IRIS CLIENT installation
C:\Program Files\Common Files\InterSystems\IRIS\IRISODBC3564.dll
my driver version =2023.1.4.580.0
As displayed by OEBDC

Robert Cemper · Jul 1, 2024 go to post

If I understand it correctly :
- DBeaver uses your ODBC and works OK (or is this a different driver ?)
- Power BI tries ODBC but fails

Robert Cemper · Jun 30, 2024 go to post

YES, concurrency applies to persistent objects once the are sved the first time
this means: it doesn't apply when the object is NEW and has no ID yet.

Robert Cemper · Jun 30, 2024 go to post

the basic mechanic in ObjectScript is the LOCK command (https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=ITECHREF_lock
for persistent objects this mechanic is named Concurrency
check this context with lots of various cases and examples 
https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=GOBJ_concurrency
.
 https://docs.intersystems.com/iris20241/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_lockbasics

Robert Cemper · Jun 27, 2024 go to post

After an updated + repair of my local Ensemble 2018 installation
I had to re-install my IRIS 2023.1.4 client!

Robert Cemper · Jun 27, 2024 go to post

@Alexey Nechaev 
In my trial  file  SSLDefs.ini was placed into 
C:\Program Files (x86)\Common Files\InterSystems\IRIS\ 
whích required admin access rights
I also gave Full Access to Everyone for the file (to avoid conflicts with 👿 MS security)

in addition also my ip address was NUMERIC to match DSN
so your's should look like this

[My CloudSQL Server] 
Address=44.221.219.249
Port=443
SSLConfig=SampleSSLConfig

Robert Cemper · Jun 23, 2024 go to post

not really since as you know there is always ObjectScript under most SQL Functions.
BUT as mentioned: I found TO_VECTOR()  the most comfortable one.
without SQL it might look like this:  or worse

;; assume a $LB structure of %Integer as input
set intlist=$LB(...........)
;; fill vector
set maxvecsize=22    ; just an assumption
 for i=1:1:maxvecsize {
  set val=$li(intlist,i)
  if '(val\1=val)  continue
  set $vector(vec,i,"int")=val
 }
write $isvector(vec)
write vec
zwrite vec

I think the difference is obvious.
Servus

Robert Cemper · Jun 23, 2024 go to post

Hallo @Ditmar Tybussek  lange nix mehr gehört von dir !

See my article Using VECTORs in ObjectScript.
related to your code: 
Simple Set vector=.... doesn't work
it is       Set $VECTOR(vectorname,  pos,type)   very clear example
and type can never be changed 
position is less sensitive. 

In your case using SQL functíon TO_VECTOR() might be quite comfortable
as it does all the checks for you under cover.
i also used all-MiniLM-L6-v2 (as PY method) starting from  label sc3 in the example
in my OEX package Vector-inside-IRIS
LG. aus Wien
 

Robert Cemper · Jun 21, 2024 go to post

THe 3rd AI proposal looked better -  Just looked!

  • it refers to an Java based installation for DBeaver.  (ok for this)
  • the fact that Apache Superset  is straight and only Py based was totally ignored

so the advice was useless!  

Robert Cemper · Jun 21, 2024 go to post

a personal hint:

  • be as precise in your question as possible.

example (with shortened replies)
- how to run IRIS ODBC client install in a fresh container ?   >> use IRIS container as base  😕
- how to run IRIS ODBC client install in a NOT IRIS based container ? >> No idea, ask developer community 🤒
- how to connect to Cloud SQL from Apache Superset osing ODBC and TLS/SSL ?
>>> what I really has in mind.  (found it by accident)  
Reply is quite detailed It's the example from the announcement above  I'll try

Robert Cemper · Jun 20, 2024 go to post

minor simplification:
inserting my 77 char server address into the15 char Server-IP of Windows DSN caused me repeating problems.
k8s-45090081-a9b5a485-233c4dadf5-46cc35674de4c26d.elb.us-east-1.amazonaws.com

A real pain to verify
So I translated it to a real IP address using nslookup

SAMPLES>$nslookup k8s-45090081-a9b5a485-233c4dadf5-46cc35674de4c26d.elb.us-east-1.amazonaws.com
;  . . . .
Name:    k8s-45090081-a9b5a485-233c4dadf5-46cc35674de4c26d.elb.us-east-1.amazonaws.com
Address:  3.215.248.100

3.215.248.100
was working excellent and easy to check and to work with
 

Robert Cemper · Jun 18, 2024 go to post

in XML the construct with ![CDATA[  gets used if the string contains any
character that may cause conflicts in XML parsing:
In your case it is the & (Ampersand)  that triggers the different use.

THIS causes the ![CDATA[ in a string field!
.

Robert Cemper · Jun 16, 2024 go to post

$ZTRAP is pretty much the same idea as ONERROR that you find in
BASIC, VB, VBA, JavaScript  and some other old languages.  
a left over from M
 

Robert Cemper · Jun 14, 2024 go to post

in docker-compose.yml

change

command: --key /dur/key/iris.key

to

command: --key /dur/key/iris.key -b "sleep 2000" 

so the container starts but IRIS is not started
2000 is just some hang for your investigation (2000 sec)

in a 2nd session run

docker-compose exec iris bash

and start IRIS manually to see all details of what might be wrong
 

Robert Cemper · Jun 12, 2024 go to post

I share your suspicion on reserved Verbs.

You may try 

m.Name as "myName"

Or even

m.Name as "Name"

Just a guess from the  hip

Robert Cemper · Jun 7, 2024 go to post

once you know what namespace you are looking at you may list available schemata by
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA

which returns 750  rows for namespace HSCUSTOM
 

Robert Cemper · Jun 6, 2024 go to post

2d  indicates that you are 2 stack levels down from Command prompt last entered by do
enter QUIT to return  to top  
do ^%STACK may display your way  down to your actual point 

Robert Cemper · Jun 5, 2024 go to post

Wrap your SELECT in an Outer  SELECT LIST(...inner select ...)
try:

SELECT LIST(DIAGNOSE) FROM (
 SELECT MRDIA_.....->MRCID....
 FROM ......
 WHERE .....
 ORDER BY ......
)
Robert Cemper · Jun 4, 2024 go to post

What you describe is indeed named Global:
and the syntax could be  ^ehr.IP to follow your question.
It is visible over the whole namespace.
If you use ^%ehr.IP the % makes it available over all namespaces of your installation.

Set ^%ehr.IP="whatever you need" is creating it