#Caché

1 Follower · 4.5K Posts

  

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

Documentation.

Announcement Rob Tweed · Jun 11, 2020

The latest WebComponent-based, SB Admin 2-themed QEWD Monitor application now includes a cool D3-based viewer for visualising your IRIS or Cache Globals - see example below

This qewd-monitor-adminui application is automatically installed when you install QEWD on a Windows machine

See here for details on installing QEWD on Windows:

https://github.com/robtweed/qewd-microservices-examples/blob/master/WINDOWS-IRIS-2.md#initial-steps
 

1
0 303
Question Jeff Burdette · Nov 20, 2017

Hello,

I'm working on integrating a Cache database into an existing .NET project of mine.  I'm trying to execute certain queries utilizing the Cache ODBC driver.  The first error I ran into was "[S1000] [Cache ODBC][State : S1000][Native Code 417] Access Denied".  The part that's throwing me for a loop though is that the application ran ~200 successful queries before I started getting that.  After some of those Access Denied errors, they turned into "[Cache ODBC][State : S1T00][Native Code 450] Request timed out due to user timeout".  This was all with the regular (2.5?) driver.

8
0 10467
Announcement Rob Tweed · Jun 11, 2020

If you're interested in building a browser-based CRUD application for maintaining data on IRIS, check out the detailed, step-by-step tutorial at:

https://github.com/robtweed/qewd-microservices-examples/blob/master/WIN…

To get a preview of the application you'll build in the tutorial, along with background on its technology stack, watch this video:

https://www.youtube.com/watch?v=d-NICYqv_2s

In summary, the key features and technologies that you'll be using and building out in this tutorial include:

0
0 1255
Question Olivier Champion · May 20, 2018

Hi

on this code

set reader=##class(%XML.Reader).%New()
    set statuscode=reader.OpenFile(file)
    if $$$ISERR(statuscode) {do $System.Status.DisplayError(statuscode) quit $$$NULLOREF}

I got this error "unable to open file 'https://www.musicxml.org/dtds/partwise.dtd'"

or using the xml schema wisard i got the error  https is active but no configuration found.

where do I have configure it?

5
0 471
Question MohanaPriya Vijayan · Jun 9, 2020

I want to receive an EDI file through Applicability Statement 2(AS2) transport and send back the acknowledgement to AS2 using Cache ObjectScript.

Previously I used to transfers the EDI files using FTP.

Can anyone please help on this.

Thanks in advance.

3
0 483
Question Viroj (Pat) Padyandorn · Jun 9, 2020

I have a table with 4 column: MRN (primary key), Name, DOB, and Gender. I want to bring in the values on all of the columns into a DTL. Currently, I declare variables for each of the columns and using 3 select statements.

  &sql(SELECT Name INTO :Name FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

  &sql(SELECT DOB INTO :DOB FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

  &sql(SELECT Gender INTO :Gender FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

Is there a way to do this in a single select statement?

4
0 318
Article Bernd Mueller · Jan 30, 2018 13m read

Some time ago I got a WRC case transferred where a customer asks for the availability of a raw DEFLATE compression/decompression function built-in Caché.

When we talk about DEFLATE we need to talk about Zlib as well, since Zlib is the de-facto standard free compression/decompression library developed in the mid-90s.

Zlib works on particular DEFLATE compression/decompression algorithm and the idea of encapsulation within a wrapper (gzip, zlib, etc.).
https://en.wikipedia.org/wiki/Zlib

6
2 2766
Article Yuri Marx · Jun 8, 2020 3m read

About regulations

Personal data privacy regulations have become an indispensable requirement for projects dealing with personal data. The compliance with these laws is based on 4 principles:

  1. Compliance with the rights of the holder of personal data;
  2. Governance of personal data assets;
  3. Privacy by Design and by Default;
  4. Data protection.

In case of violation in the treatment of personal data, controllers and operators of these data may suffer:

0
2 445
Article Peter Cooper · Mar 18, 2018 1m read

Hi All
This is the index to a series of articles I hope to create over the coming months.

ZEN and ZEN Mojo are no longer being actively developed by Intesystems - this is a great shame as it is a fine product that works so well for business applications.
However ZEN is a 15 year old product and I need a path forward to replace the ZEN UI with a supported development framework.

This article is an index of the other articles I have, or plan to write. - the articles will be subject to change as I develop my thoughts and climb the learning curve.

5
1 1296
Question Arto Alatalo · Apr 29, 2020

Hi Community! I need your advice.

The method below is 6 times slower on production server than on developing machine:

ClassMethod runme4()
{
    s cnt=615210
    s st=$zh
    for i=1:1:cnt {
        s p=##class(digi.packet).%OpenId("packet||5237")
        w:p="" "not found",!
        k p
    }
    w $zh-st,!
}

BUT the server is 6 times faster if OpenId replaced with simple read of a large global (s p=^someLargeGlobal). Any ideas what makes OpenId so slow only on the server?

27
0 1182
Question Robert Cemper · Jun 2, 2020

In the default IRISterminal or using PuTTY I have a set of "Routine Commands" available 

  • PRINT   – Displays lines of code from the current routine on the current device.
  • ZINSERT – Inserts one or more lines of code into the current routine.
  • ZLOAD   – Loads a routine into the current routine buffer.
  • ZPRINT  – Displays lines of code from the current routine on the current device.
  • ZREMOVE – Deletes a line or a range of lines from the current routine, or unloads the current routine.
  • ZSAVE   – Saves the current routine.
  • ZZPRINT – Displays one or more source code lines from a routine
9
0 357
Question Đặng Phú Lộc · May 28, 2020

Hi everyone,

I have an existing application on HealthShare 2015 and decide to move it to HealthShare 2018 to make use of Atelier support. I am using Eclipse Photon with Atelier Plugin 1.3.

Most of things are working better on Atelier comparing with Built-in studio of HealthShare. However, when I tried debugging CSP file with Atelier I encounter 2 problems:

1. 

From a CSP file, I can open the generated *.INT file without any problem. But when I open the generated *.cls file it shows me the error:

1
0 394
Article Sergey Mikhailenko · Jun 2, 2020 8m read

When you first start working with InterSystems IRIS, it’s a common practice to install a system with only a minimum level of security. You have to enter passwords fewer times and this makes it easier to work with development services and web applications when you're first getting acquainted. And, sometimes, minimal security is more convenient for deploying a developed project or solution. And yet there comes a moment when you need to move your project out of development, into an Internet environment that’s very likely hostile, and it needs to be tested with the maximum security settings (that is, completely locked down) before being deployed to production. And that’s what we’ll discuss in this article. For more complete coverage of DBMS security issues in InterSystems Caché, Ensemble, and IRIS, you may want to read my other article, Recommendations on installing the InterSystems Caché DBMS for a production environment. The security system in InterSystems IRIS is based on the concept of applying different security settings for different categories: users, roles, services, resources, privileges, and applications. Users can be assigned roles. Users and roles can have privileges on resources — databases, services, and applications — with varying read, write, and use rights. Users and roles can also have SQL privileges on the SQL tables located in databases.

2
3 1139
Question Kurro Lopez · Jun 12, 2018

Hi all,

I'm wonder what could be the best way convert the sentence "Switch" C# into Cache code.

int caseSwitch = 1;

switch (caseSwitch)
{
    case 1:
    Console.WriteLine("Case 1");
    break;

    case 2:
    Console.WriteLine("Case 2");
    break;

    default:
    Console.WriteLine("Default case");
    break;

}

My first attempt was:

set caseSwith = 1

if (caseSwith = 1)
{
   w "Case 1"
}
else
{ 
  if (caseSwith = 2) 
  { 
    w "Case 2"
  }
  else
  {
      w "Default case"
  }
}  

16
1 3113
Question Robert Cemper · Jun 2, 2020

Running WebTerminal from OpenExchange over HTTPS could be a very secure access method for remote developers.
So I was asked to compare it to other access tools.

One of the tests was display speed.  So from the command prompt, I did a simple ZWRITE ^SYS
I started it in parallel:  WebTerminal, IRISterminal, Putty
- PuTTY completed first, though started last
- IRISterminal took some time longer but ended somewhat later
- WebTerminal first chopped the output but was then incredibly slow. 

4
0 324
Question Dan Pahnke · Jun 2, 2020

Hi,

My attempt to run a node.js command fails at the open command with a "Error loading Cache Library: C:/InterSystems/Cache2018/bin/cache.dll; Error Code 126 (The specified module could not be found.)" result. I can't argue with the error message as the cache.dll file doesn't exist. Apparently I missed an installation step. Could somebody point out what it might be please.

Version: Node.js Adaptor for Cache: Version: 1.1.136a (ABI=48)


Cache for Windows (x86-64) 2018.1.4 (Build 504) Thu May 14 2020 14:31:34 EDT

I'm using cache610.node from InterSystems along with Nodejs.org release v6.10.3
 

Dan

2
0 355
Article Eduard Lebedyuk · Mar 4, 2016 7m read

It was InterSystems hackathon time and our team, consisting of Artem Viznyuk and me had Arduino board (one) and various parts of it (in overabundance). And so like that our course of action was set - like all other Arduino beginners, we decided to build a weather station. But with data persistent storage in Caché and visualization in DeepSee!

8
0 1807
Question Yone Moreno · Jun 1, 2020

Hello,

We are wondering how could we iterate over a segments list,

The use case is that we are sending from Process X to process Y a message, only if at the OBR4 CE1 there is a certain code.  We were getting this field as follows:

set context.studyReason = request.GetValueAt("ORCgrp(1).OBRuniongrp.OBRunion.OBR:UniversalServiceIdentifier.Identifier")

 

How could we iterate over the following message and get both OBR4 CE1 (1 and 2):

2
0 796
Article Sean Connelly · Sep 10, 2019 18m read

In this article, we will explore the development of an IRIS client for consuming RESTful API services that have been developed to the OData API standard.

We will be exploring a number of built-in IRIS libraries for making HTTP requests, reading and writing to JSON payloads, and seeing how we can use them in combination to build a generic client adaptor for OData. We will also explore the new JSON adapter for deserializing JSON into persistent objects.

3
4 1221
Article alex kosinets · Feb 24, 2020 2m read

In MX any global can be displayed on a sheet in the form of a table.

We will look at the simplest example (work only with  CACHE-2014+ or IRIS)

Upgrade or install  MX.

Start mx.xlsb  and connect to your namespase with vmx-routines.

After opening first sheet, click button  []   ##class(SYS.Stats.Dashboard).Sample()

Then press button [design-mode]   (top of screen ).

You will see something like this in the top four lines:

M-Formulas works in cells in the process of opening this sheet,  step by step :

5
0 622