Robert Cemper · Jul 10, 2024 go to post

Basically every SQL statement whether internal or external is cached for eventual reuse in future
You can find Cached Queries from  SMP > System Explorer > SQL > Cached Query

clicking on one in the list you get the details

Tab SQL Statements shows much more details

Click on SQL Statement Text offers a further drill down into details

Robert Cemper · Jul 10, 2024 go to post

Typical mistakes with ODBC access over Windows DSN

  • ODBC driver old version
  • 32bit driver on 64bit installation or vice-versa
  • not created & tested as System DSN
  • user / password / namespace mismatch 
  • wrong configured TLS/SSL access 
Robert Cemper · Jul 6, 2024 go to post

http://<server>:<port>/csp/......
refers to the private webserver installed and used in past releases

Robert Cemper · Jul 6, 2024 go to post

You probably should ask this in an Oracle forum.
This is definitely not the best place to discuss such idea

Robert Cemper · Jul 6, 2024 go to post

_SYSTEM is just another user name with role %ALL
any other account with the same role can do it as well.
Tying some code to a Username  ignoring the power of roles is an elementary design error. 

Robert Cemper · Jul 6, 2024 go to post

Hi @Otto Medin !
HTTP is basically US ASCII 7bit with some "handcrafted" extensions
- somehow "UTF 7.6" 
🤪 focussing on octets
it works for äöü  but NOT for €  (x20AC)  >>> in URL  %u20AC

for details: https://softwareengineering.stackexchange.com/questions/304419/what-encoding-are-the-http-status-and-header-lines
my hint: Try to avoid it in HTTP headers and stick with 7bit ASCII to be on the save side
browsers are less risk for problems but old applications are

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