go to post Robert Cemper · Jan 23, 2023 In IRIS you have in SMP the option to run your Query in background and bypass the timeout.
go to post Robert Cemper · Jan 23, 2023 it still exists: ClassMethod Build(f As %Integer) { s a="#" f i=F:-1:1 w ?i,a,! s a=a_"##" }
go to post Robert Cemper · Jan 23, 2023 Just forget my contribution.I'm not interested in digging for secrets!I leave that to Indiana Jones my code is deleted ! it's not my type of fun
go to post Robert Cemper · Jan 23, 2023 Hmm!Where did you see the enclosing quotes? they are invisible in my browser.
go to post Robert Cemper · Jan 22, 2023 FOUND SOMETHING ! in SMP IRIS you see this header as in Caché / Ensemble but click to more has a surprise in IRIS Select foreground and you get all %session, .... that you look for.Recorded with SPOOL , device 2 %CSPsc=1%ROWCOUNT=0%ROWID=""%SNGetQueryStats=1%SYSLOG=1%application=<OBJECT REFERENCE>[356@%CSP.UI.Portal.Application]%caller=""%class="%CSP.UI.Portal.SQL.Home"%method="InvokeInstanceMethod"%msg=""%obj=<OBJECT REFERENCE>[362@%ZEN.Component.html]%objlasterror=""%page=<OBJECT REFERENCE>[20@%CSP.UI.Portal.SQL.Home]%request=<OBJECT REFERENCE>[1@%CSP.Request]%response=<OBJECT REFERENCE>[2@%CSP.Response]%sc=1%session=<OBJECT REFERENCE>[3@%CSP.Session]%sqlcontext=<OBJECT REFERENCE>[433@%Library.ProcedureContext]%tStatement=<OBJECT REFERENCE>[369@%SQL.Statement]%zenContext="method"%zenThreadId=39SQLCODE=0rs=""<Private variables>$zp=14828$io="|TCP|58771"Reverse engineering of the SMP page uncovered this new checkbox to me.Could be it is documented somewhereHTH
go to post Robert Cemper · Jan 22, 2023 I could imagine 2 variants: creating a "clone" of the CSP based "synchronous" Queries we know from C/E to have the unique session just using xDBC based tools such as Squirrel, DBeaver, WinSQL, ..... which is probably better since SMP mimics ODBC mode, but doesn't use real xDBC connection external xDBC provides a 1:1 connection as a terminal session would do.
go to post Robert Cemper · Jan 22, 2023 You are CORRECT , In Caché/Ensemble SMP uses straightforward CSP and you have %session object and %request ...I verified IRIS 2022.2 and 2022.3:- SMP runs Queries differently and neither %session nor %request is visibleby variable » %inBackground = 1 it indicates working in backgroundand once completed the Job is gone, but SMP is still around
go to post Robert Cemper · Jan 22, 2023 As a first step I would try to find out if your Trigger is running in the same process as your CSPjust writing $JOB with a $H into a test global. eg.: set ^stefan($h,$j)="CSP" for CSP set ^stefan($h,$j)="TRIGGER" for the trigger code ;;; or use do LOG^%ETN() ; write to ^ERRORS
go to post Robert Cemper · Jan 21, 2023 As @Enrico Parisi pointed out: IRIS.DAT is an independent structureThe link between file and Namespace is in the ConfigFile (??.CPF) in your install directory.The file could be located anywhere.
go to post Robert Cemper · Jan 21, 2023 MS Acess typically uses ODBC data sources.By default, the ODBC35 driver for Cache/IRIS is installed at Cache/IRIS installation time.You have to configure it (directly or from MS Access) with Namespace + SuperServer PortTake care not to mix 32bit mode with 64bit mode depending on your Cache installation
go to post Robert Cemper · Jan 20, 2023 I use the suggested common method for length calculation /// write ##class(Golf.Task2).length() ClassMethod length( class = {$classname()}, method = "Build") As %Integer { #dim methodObj As %Dictionary.MethodDefinition set methodObj = ##class(%Dictionary.MethodDefinition).IDKEYOpen(class, method) quit methodObj.Implementation.Size } also in terminal:USER>p s (b,h)="*" f L=f:-1:1 w ?L,b,! s b=b_h_h F i=1:1:f K s,c S ($P(s," ",f-i+1),$P(c,"#",i*2))="" W s,c,!
go to post Robert Cemper · Jan 19, 2023 You are on the right path, I use deuw and see some differences grown by history sort ÄÖÜ + ß (sharp S) after Z as by ASCII sort Ä after A, Ö after O, Ü after U but before Z ignore trema. sort Ä=A, Ö=O, Ü=U no idea about ß 4 and 5 may contribute to the lastest nonsense of German Language Authorotiesthat introduced sharp_S also in uppercase.<we lived since ever without it and didn't miss anything> Your case:You can't change the collation of an existing GlobalBut you can apply a different collation before first use in SMPto overwrite default collation of the DBSystem > Configuration > Local Databases > Globals > New Global So you set up a global ^TEMP3 with collation German3and run MERGE ^TEMP3=^TEMP and have a new collation.Some time back I set that to have different index collations forGerman, Hungarian, Italian, French, Slovenian, ...see my post Multi Language Sort
go to post Robert Cemper · Jan 18, 2023 expression into :var stores the content of the expression into a local host variable var in your case you seem to get from STRING(...) 2 expression stored in to variables CODE and VALUEthis construct is typical for embedded SQL
go to post Robert Cemper · Jan 18, 2023 You should really read the docs in detail LOAD DATA ......<filename> 'D:\Intersystem\IRISHealth\Mgr\' is just a directory, not a fileand you need all access rightsI would expect something like 'D:\Intersystem\IRISHealth\Mgr\tablename.txt' Did you use $system.SQL.Shell() to launch it ?