#Caché

30 Followers · 4.6K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Question Florian Hansmann · Aug 3, 2020

Hello Intersystems-Community,

I build an API and there I use $order to get the Data from my Globals.
When I first time use that API it's get an error (504 Gateway-Timout > 60 Sec.).

After 2 reloads it works with a loading time of 2 Sec.! Sounds for me like the $order is cached and it works faster. Is it true $order will be cached?

When it works, I only get the error at the next day. So it's very hard to reproduce that error.

8
0 527
Question Marcio Nascimento · Jul 28, 2020

Hello for everyone.

We recently started our migration to the cloud.

We left a unix environment for a Windows 2016 environment and everything seems normal except for the error ( <ZSOAP> zInvokeClient + 208 ^% SOAP.WebClient.1 ) when we try to consume a web service. In fact, any webservice.
The classes have been exported and recompiled but do not work.
Apparently by the complements of the error DO $ System.OBJ.DisplayError () (ERROR # 6246: There was no response to the SOAP request) or the $ system.Status.DecomposeStatus (% objlasterror, .
1
0 2192
Question Kevin Furze · Jul 31, 2020

cache 2017.2 windows 10

Is there any way to change the sql Shell interface to output a <TAB> between the fields instead of outputting one or more spaces between columns

I needed to run an sql ( that took a while to run) and then  cut and paste the generated output into excel, trouble was the paste into excel was not very good for columns when there's spaces used between the columns

kev

3
0 339
Question David Underhill · Jul 28, 2020

We use the %Net.FtpSession class to perform FTPS file transfers.  This has worked fine with Implcit FTPS servers but crashes when trying to connect to an Explicit FTPS server.  Explicit FTPS has a slightly diffferent negotiation in the intitial connection and different ports.

Has anyone gotten Explicit FTPS working with the Cache classes?

2
0 617
Question Ken Earl · Jul 25, 2020

I have been looking into using abstract classes and methods. In other languages, if a superclass is defined as abstract, subclasses inheriting from the superclass will not compile until all abstract methods have been implemented in the subclass.
I have created the following classes to try this in Cache:
Class User.Music.AbstractClass [ Abstract ]
{

             Method testabs(inp As %String) [ Abstract ]{}

}

Class User.Music.AbstractTest Extends (User.Music.AbstractClass, %Persistent)

{    

           Method testabs(inp1 As %Integer!!,"Input:",$g(inp,"undefined"}

}

When I compile User.

8
0 1577
Question Luiz Henrique Carvalho Martarelli · Jul 24, 2020

Hello people!

I am Brazilian and I am starting to work with the latest version of CACHE, and I would like to know where I can see an example of a TRIGGER, I would like to validate the fields before writing the actual data in the database.

in advance, thank you very much! and sorry for any mistake in concordance in english

7
0 776
Question Adrian Bourner · Jul 23, 2020

Until this week, my customer had Ensemble writing HL7 messages to my TCP listener, working fine on ageing physical servers (Windows Server 2003, Caché 2009). They had four app servers (app1, app2, app3 and app4) with an overarching DNS simply called "app".  Ensemble was connecting to "app:port", and it somehow found whichever of the four app servers my background listener was running on, and the interface worked fine for 10+ years.

4
0 348
Article Robert Cemper · Jul 21, 2020 2m read

t's also an example for a customized command extension (ZZJSN) in Caché & IRIS

This is the Caché version for fast JSON formatting but it also works in IRIS.
Requires package ZPretty
To allow parallel existence in IRIS this is named ZZJSN

see:

USER>ZWRITE jsn  
jsn="{"Name":"Li,Robert K.","SSN":"672-92-9664","DOB":"1975-01-12","Home":{"Street":"986 Washington Blvd","City":"Boston","State":"PA","Zip":"95802"},"Office":{"Street":"6012 First Place","City":"Reston","State":"MT","Zip":"77739"},"Spouse":{"Name":"Avery,Zelda H.
0
0 559
Question Amiram Kasos · Jul 21, 2020

Hi,

Recently I have encountered a new issue, more and more 3rd party applications move to the cloud.

Web-hooks incoming from their sites can no longer be identified using a known and fixed IP address, so our customer's security department blocks them.

In past similar cases we use to grant access in the customer's Fire-Wall to the specified IP address - this is no longer applicable.

Has anyone else encountered this problem ? do you have any ideas ?

Thanks

1
0 315
Question Eduard Lebedyuk · Jul 6, 2018

Let's say I have this simple script  file try.script

write 1
write 0

I can execute it in a terminal (csession) by calling:

csession cache < try.script

And I get the following output:

%SYS>
1
%SYS>
0

However I want to use a try catch block in my script:

try {
write 1/0
catch {}
halt

But as script is executed line by line, it's interpreted like this:

%SYS>
TRY {
      ^
<SYNTAX>
%SYS>

WRITE 1/0
^
<DIVIDE>
%SYS>

CATCH {}
^
<SYNTAX>
%SYS>

I know that I can write it all in 1 line, but I'd rather not do that. Is there a way to feed multiline statement into Cache?

8
0 1408
Question craig jackson · Jul 12, 2020

Hello, I am running into a little problem.

I am trying to create a Cache Trigger on a FACS table using the SQL CREATE TRIGGER command but I am getting the message [SQLCODE: <-300>:<DDL not allowed on this table definition>].

I am not creating a persistent class but using the SQL CREATE TRIGGER command.

Please advise.

thanks.

8
0 379
Question Stephen De Gabrielle · Jun 29, 2020

Been cleaning up our production 2017.1 instance of Health Connect in preparation to a move to Health Connect 2020.1 (on IRIS!)

One thing I have found I we have built up a number of old classes and other configuration files.

It would be nice to start on the new server with a clean slate.

Is there any way to identify classes that haven't been used for a long time so they can be reviewed and removed?

Kind regards, 

Stephen

4
1 500
Question Dave Day · Jul 7, 2020

Hi,

I get this error [Cache ODBC][State : HYC00][Native Code 469] and zero rows returned with the following query.

SELECT "Timestamp","Skillset"  FROM "dbo"."iSkillsetStat" 
WHERE (Timestamp >= '2020-06-29 00:00:00' 
AND Timestamp < '2020-06-30 00:00:00')

I'm using Qlik Attunity Replicate to extract data, the query was formatted  by the tool. The query will return data in excel and SSIS, but not using Replicate.

So far I've tried using two ODBC drivers

-----------------------------------------------------

    Driver Name:    CacheODBC64.DLL
    Unicode Client Version:    2017.2.2.865.

3
0 653
Article Eduard Lebedyuk · Sep 6, 2016 2m read

Let's say we have two serial classes, one as a property of another:

Class test.Serial Extends %SerialObject
{
Property Serial2 As test.Serial2;
}

Class test.Serial2 Extends %SerialObject
{
Property Property As %String;
}

And a persistent class, that has a property of test.Serial type:

Class test.Persistent Extends %Persistent
{

Property Datatype As %String;

Property Serial As test.Serial;

}

So it's a serial, inside a serial, inside a persistent object.

2
0 541
Question Meenakshi Shanmugam · Jul 14, 2020

Hi,

I am getting below error in date column in a table. I am unable to query data or find distinct or to_char on this column.

Select distinct column name from table Select column name from table Select To_Char(column name) from table

Table has 3923509 rows.

Could someone help me how can I identify bad data in this table?

Any idea how we can avoid this error?

[SQLCODE: <-400>:] [Cache Error: <%0AmBs1+1^%sqlcq.SMTKTUAT.cls498.1>] [Location: ] [%msg: %0AmBs1+1^%sqlcq.SMTKTUAT.cls498.1>]

7
0 422
Question Julian Matthews · Jul 7, 2020

Hey everyone.

I have a use case where I need to write files to a handful of locations, and 2-3 subfolders in each location.

My plan was to extend EnsLib.File.PassthroughOperation and then pass  that operation the file and the subfolder details, and then have an operation per destination.

Has anyone done anything similar and can highlight any pitfalls I may be about to make?

3
0 377
Question Thomas Noitz · Jul 8, 2020

Hi everyone,

when I'm using the %JSONExport-function on Caché-Objects containing properties of type %integer, %numeric or %boolean, this properties are all automatically converted to Strings in the JSON-Output.

Is there a way to get around this type-cast?

Example:

Result with %JSONExport:

maxOrderable and maxReserveable are of type %integer, deliverable and assembly of type %boolean. All 4 properties are shown as quoted Strings.

Result with  ##class(%ZEN.Auxiliary.jsonProvider).%ObjectToJSON (same class+properties):

Thanks!

Thomas

11
0 631
Question Jenna Makin · Sep 30, 2017

hi-

Can someone give me an example of how to JOB a class method that requires an array of values to be passed to it by reference.  

This is what I tried, but am getting compile errors because of the .params

job ##class(%SYSTEM.OBJ.FM2Class).All(.params)::5

Any thoughts on how to accomplish this, the simplest way.  I would like to avoid writing all of this to some global and having to write some wrapper to pick it up and then call the class method, which I certainly could do.  but is this the only way to do it?

9
1 1697
Question Jochen Roese · Aug 27, 2019

Hi,

somehow my installation on win10 canceled during finish. "Installation of Caché finished" showed up for 20 minutes and canceled with an error I didn't saved.

Every file and service was installed but never registered as successfull installation. Now I try to reinstall it but the installer shows me everytime "Another installation is already in progress. Please finish the second installation first".

The unfinished installation is broken. I can't startup Caché from launcher.

9
0 1191
Question Eriks Tauckels · Jul 3, 2020

Running cache 5.0.21 64 bit on Windows server 2016 in virtual environment. Trying to understand why every single process disk read speed (simple sql data walks) caps  around ~20MB/s, however 2 paralell such tasks on different data areas can reach 19MB/s each, four - 17MB/s each, that is 70MB/s total, etc. Also simple copy file to nul on that system reach ~400MB/s.

What can keep single query on idle system from reaching for example 200MB/s? Virtualization? Windows? Cache? Processors are below 1-3%

4
0 514
Question Rubens Silva · Jul 7, 2020

Hello.
We're trying to create a script that compiles everything on a certain namespace, for that we are depending on CompileAll. However it seems that this method doesn't check for a dependency tree even when using flags like: curb.


Due to its apparent alphabetical nature, classes that come first but depend upon classes that come later fail to compile because their object still doesn't exists. Example:
Suppose we have to compile a class in which its name starts with A and it has a Parameter which contains an expression that calls for B.

6
0 377