go to post Robert Cemper · Jun 2, 2020 You need to start with require("cache") to have the basic access module. you find it a cache.node for various rather old versino0n of Node. it is in %instaldir%\bin\ more details in %instaldir%\ \dev\node.js\samples\installed_software.js and more ......
go to post Robert Cemper · May 29, 2020 To use a DSN it has to be a SYSTEM-DSN and have the same bit as Cache / IRIS. Depends on your EXCEl instalationTherefore 64bit.Activate as you might know from Cache is not available in IRIS
go to post Robert Cemper · May 28, 2020 ¡ Hola Salva ! ( @Jose Tomas Salvador) You motivated me to give it a try.And with a little bit of tweaking the scripts my contribution for the contest WebSocket Client JS with IRIS Native API as Docker Micro Server is also running with no issues on Docker Desktop for Windows !A very positive experience that I didn't expect at first sight.¡ Gracias !
go to post Robert Cemper · May 28, 2020 if you install Excel you have automatically also a DSN for ODBC access to EXCELcheck your DSN data sources in your Windows installation.Use ODBC-Gateway in Cache / IRIS to access it.
go to post Robert Cemper · May 26, 2020 Typically all strings are UTF encoded.The average text often consist of single-byte characters (a subset of UTF-8) As soon as a multibyte character joins the string the whole string just uses WIDE characters example: USER>set txt="cher ami j'ai besoin de 100 eur"USER>zw txttxt="cher ami j'ai besoin de 100 eur" USER>zzdump txt0000: 63 68 65 72 20 61 6D 69 20 6A 27 61 69 20 62 65 cher ami j'ai be0010: 73 6F 69 6E 20 64 65 20 31 30 30 20 65 75 72 soin de 100 eurUSER>set txt="cher ami j'ai besoin de 100 €"USER>zw txttxt="cher ami j'ai besoin de 100 €" USER>zzdump txt0000: 0063 0068 0065 0072 0020 0061 006D 0069 cher ami0008: 0020 006A 0027 0061 0069 0020 0062 0065 j'ai be0010: 0073 006F 0069 006E 0020 0064 0065 0020 soin de0018: 0031 0030 0030 0020 20AC 100 € The conversion happens totally internal.depending on your needs you can select the national language table.different languages sort differently. e.g German äöü vs. aou
go to post Robert Cemper · May 26, 2020 with set gStatus=$DATA(pGlobalName) you check the existence of your call parameter but set gStatus=$DATA(@pGlobalName) check the existence of your Globalto go for the Global you require indirection therefore set gmin=$ORDER(@pGlobalName@(""))will meet your expectations
go to post Robert Cemper · May 25, 2020 using "œ" makes you internal string wide character.you might fix it with DO $ZF(-1,$ZCVT("echo œ","O","UTF8")) if the encoding of your AIX is UTF-8. The first example just shows that AIX understands its own console/terminal. Bonne chance !
go to post Robert Cemper · May 25, 2020 Sorry my fault: my quality was set back to 240 (!) as I was watching High Noot wich Garry Cooper last time with 1080 HD it is excellent
go to post Robert Cemper · May 25, 2020 I was unable to attend so I took the recording. The content was important and good to understand.But the shared desktops are all unreadable in the video.
go to post Robert Cemper · May 25, 2020 Molte grazie @Stefano Cairoli ! È sempre lo stesso problema : è scritto da qualche parte.Ma dove ?Migliori saluti da Vienna! E state tutti sani! Robert
go to post Robert Cemper · May 24, 2020 @Eduard Lebedyuk , @Dmitry Maslennikov I tried it and it works: - v $(pwd):/mnt/share/ I set it for both containers and they read/write to it as any other user would do. My consequence: the "Install container" fills all required data the "production container" consumes it. It's similar as data transfer from 1 process to the other over IRISTEMP and I have no need for a merge as in my initial case.
go to post Robert Cemper · May 24, 2020 Thank you @Dmitry Maslennikov !That confirms that I didn't miss a "magic merge feature".My way wasn't that complete (I stripped the context example) Ending up with base to work with. So I "just" have to elaborate my Dockefile. My NodeJS has to start after IRIS anyhow, so iris-main could be great:But to visualize that it isn't just a fake it ist should run -it what iris runs -d detached.An additional manual start is no problem.@Eduard Lebedyuk you inspired me to try the shared volume I keep you posted
go to post Robert Cemper · May 24, 2020 OK! for access to the Native API it works fine. And I used that.my intention was to have just 1 container to run instead of 2. BTW: Would file access work from 1 container to the other over a commonly used external volume ? (haven't tried yet)
go to post Robert Cemper · May 24, 2020 ¡Hola Salva! ( @Jose-Tomas Salvador) A great contribution. Having this experienced myself I know how much work it was.A few remarks: enabling Hyper-V killed my well-grown VMware environment my attempts to install a pure Ubuntu Server distibution failed with various releases. so I had to accept the pre-selected kits with the graphic interface. the effort to get the network clean in a multi-machine environment was significant and I had just a week feeling what action were expected from me. finally mapping external volumes for durability wasn't easy and not successful. Thanks to your description I know that my expectations were just higher than reality. I finally dropped Docker desktop and returned to my VMware that I used alreadybefore it was supported platform for Caché, . Especially networking was much easier (to me). Maybe a future version might be more convincing.But as I developed a predecessor of VMware already in 1972.. I'm quite demanding on that subject. ¡ Saludos desde Viena !Robert
go to post Robert Cemper · May 21, 2020 Your organization seems to run the traditional centralized approach where a few developers workedin a rather close contact with each other being informed of any change immediately.Experiencing all cross-over dependencies on code and data directly. In a distributed / larger organization this information is poor or missing.So with more people stirring the same pot of code from remote is a risky exercise.You are well-advised to have local and separated installations for your developers. The extra effort is to maintain a common code base and data set for them.The advantage is that their changes don't interfere with each other.The next challenge is to keep test data for them consistent.This may even be harder to achieve than code consistency and requires precise maintenance and management.
go to post Robert Cemper · May 21, 2020 I like it as it is based on Eclipse.And as I used Eclipse since I wrote my first line of Java some decades backI know where to find my buttons and switches, what fits my needs, .... I'm not married to it. Just many years of positive experience. Why drop it for some younger tool ...
go to post Robert Cemper · May 21, 2020 A minor addition:For some time ( since last year ?) Studio is also available for stand-alone installation without any related Caché / IRIS Kit. The support & documentation situation is important for the field.So my vote: Studio for Win, Atelier for the rest
go to post Robert Cemper · May 20, 2020 As there is no default RANDOM() in Caché/IRIS SQL you have to write it yourself.Create this class: Class User.Henry{ ClassMethod Random(maxval As %Integer = 2) As %Integer [ SqlName = RANDOM, SqlProc ]{ quit $random(maxval)} } Assuming your table has defautl ID (%Integer, MINVAL=1) SELECT TOP 1 column FROM tableHAVING ID >= RANDOM(MAX(ID)) >= ensures that you just get an existing ID and don't drop on a deleted one Of course, if you know in advance the highest existing ID (e.g. maxid) then RANDOM(maxid) will do it.
go to post Robert Cemper · May 20, 2020 Extending the reply of @Vitaliy.Serdtsev Basically whatever your variable holds could be a %String (also including binary values)COS has a few check functions to interpret the content $ISOBJECT $ISVALIDDOUBLE $ISVALIDNUM $INUMBER $LISTVALID the whole block of $ZD,$ZDH,$ZDT,$ZDTH,$ZT,$ZTH $MATCH Further on the Pattern Match operator ? let you sort out pure text and binary, ..... All you have is just content. It is left up to you to decide what type it is.You can find out by those functions what is NOT. Only the data type classes decide to some limit what type it should be.