#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Article Josh Lubarr · Oct 15, 2019 6m read

InterSystems Data Platforms products allow you to export and import security settings in two different ways.

This article talks about those options:

  • On the command line, using ^SECURITY
  • Programmatically, using the Export and Import methods of classes in the Security package

Exporting settings on the command line (^SECURITY)

You can export everything or individual sections of the security settings.

Exporting everything with ^SECURITY

With ^SECURITY, you can export or import all the security settings for an instance very simply.

4
0 2662
Question Roberto Cahanap · Nov 22, 2019

We have a SOAP web service that we call to retrieve a stream of a PDF file. The web service is written by another group in our company (not a Cache group). We are running into one issue where it seems that the PDF is too big and when it is sent to us we get this "ERROR #6301: SAX XML Parser Error: <STORE>". The stream is about 8mb. This is the first time that we have encountered this issue.

We have a WRC ticket open about this but doing some research, we found that if we increase the $ZSTORAGE then we no longer get this error when we call the web service for this 8mb file.

4
0 2005
Announcement Tony Coffman · Nov 20, 2019

Hello InterSystems Community,

We're excited to announce that we've completed our first Open Exchange submission for InterSystems platforms.

BridgeWorks VDM is an ad hoc reporting and graphical SQL query builder application that was designed for any user who needs access to their SQL projections in InterSystems Caché, InterSystems IRIS, InterSystems IRIS for Health databases as well as access to InterSystems DeepSee and InterSystems IRIS BI Cubes with minimal SQL scripting experience.

0
1 573
Question Niccolò Predebon · Nov 19, 2019

Hi everyone. I'm new to cache, and i  was looking for a command who reads a .txt file and store the informations in variables. I've found on the documentation the EnsLib.SQL.SNapshot class, and, even if i'm not sure if that's what i need, when i run the code it says that the class doesn't exist, but i couldn't find the right superclass to extend.

3
0 622
Article Sergey Kamenev · Nov 11, 2019 11m read

InterSystems IRIS supports a unique data structure, called globals, for information storage. Essentially, globals are persistent arrays with multi-level indices, having several extra capabilities—transactions, quick traversal of tree structures, and a programming language known as ObjectScript.

I'd note that for the remainder of the article, or at least the code samples, we'll assume you have familiarised yourself with the basics of globals:

Globals Are Magic Swords For Managing Data. Part 1.
Globals - Magic swords for storing data. Trees. Part 2.
Globals - Magic swords for storing data. Sparse arrays. Part 3.

7
2 1168
Question Flávio Lúcio Naves Júnior · Oct 21, 2019

Hello Everyone,

I'm want to know, what is more common for your company to use, the abbreviation syntax or the complety name of commands, and why?

Ex. 

S VAR=10 / D FUNC^ROUTINE F 1:1:1000

Set VAR=10 / Do Func^Routine / For 1:1:1000

set var=10 / do func^routine / for 1:1:1000

Here in my company, we are familiar with the abbreviation syntax, because to spell is more faster.

35
0 1221
Article Evgeny Shvarov · Nov 19, 2019 1m read

Hi developers!

I just want to share with you the knowledge aka experience which could save you a few hours someday. 

If you are building REST API with IRIS which contains more than 1 level of "/", e.g. '/patients/all'  don't forget to add parameter 'recurse=1' into your deployment script in %Installer, otherwise all the second and higher entries won't work. And all the entries of level=1 will work.

/patients

- will work,  but

/patients/all

- won't.

Here is an example of CSPApplicatoin section which fix the issue and which you may want to use in your %Installer class:

0
1 333
Question lw lw · Nov 18, 2019

my cachedb version:
Cache Running version:
Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2017.1.1 (Build 111U_SU) Tue May 23 2017 13:39:47 EDT

The frequency with which the journal is synced depends on the operating circumstances of the InterSystems IRIS instance involved. A journal sync can be triggered:

  • Once every two (2) seconds if the system is idle.
  • In an ECP-based distributed cache cluster, by the data server when responding to specific requests (for example, $Increment) from the application servers to guarantee ECP semantics.
1
0 320
Article Peter Steiwer · Nov 19, 2019 3m read

Why log in to view pivot tables when you can have them delivered directly to your inbox? Are you in need of automated reporting for InterSystems IRIS Business Intelligence? Pivot Subscriptions is your solution: a tool for subscribing to scheduled email reports of pivot tables inside InterSystems IRIS Business Intelligence (previously known as DeepSee).

0
1 647
Article Mark Bolinsky · Mar 21, 2017 4m read

Database systems have very specific backup requirements that in enterprise deployments require forethought and planning. For database systems, the operational goal of a backup solution is to create a copy of the data in a state that is equivalent to when application is shut down gracefully.  Application consistent backups meet these requirements and Caché provides a set of APIs that facilitate the integration with external solutions to achieve this level of backup consistency.

7
2 3019
Question just fig · Nov 16, 2019

I try to set a cookie with expire time like this:   %response.SetCookie("XXXXX",%session.SessionId, %session.AppTimeout,"","",0,0)  but when i return to the browser it shows that the cookie's("XXXXX") expire time is "session". How can i to set a expire time? Can someone help me? thxsmiley

3
0 568
Question Yana Rchks · Oct 30, 2019

I am trying to make architecture for my project. And for it, it needs to make list property in which there is list of objects of another table, the data must be unique, therefore I make sql-query to check objects of another table if it is used or not, but I can't make sql-query to check elements in list in property with elements of another table. Can you help me? In property ID of object is used.

12
0 3405
Question Michael Davidovich · Nov 14, 2019

I'm playing with Cache web apps (CSP pages) and local dev . . .

My understanding is that when you run Cache, it spins up a very lightweight Apache web server with the web root C:\InterSystems\Cache\CSP (or where your CSP folder happens to be).  I can successfully place a index.html file with a simple header element in any one of the sub directories in \CSP (e.g. samples, sys, user) and it will successfully be served on, for example, http://localhost:57772/CSP/samples/index.html.

However, if I put the index.html at C:\InterSystems\Cache\CSP\index.

5
0 919
Question Hieu Dien Nguyen · Nov 29, 2018

Hello everyone,

I try excuting a SQL Query like this SELECT ID, CompanyName FROM Company WHERE CompanyName LIKE 'condition' 

But if I want to search CompanyName have special char %, ex: '100% Co' , 'Group of Mr.%', 'The %TaxProp'...

How can I take % to query, with  

SELECT ID, CompanyName FROM Table1 WHERE CompanyName LIKE '%%%' 

it'll get all record in table.

Someone give me an idea. Thanks so much!

5
0 1085
Article Fabio Goncalves · Apr 19, 2017 5m read

In the previous article, I have demonstrated a simple way to record data changes. At this time I have changed the "Audit Abstract Class" which is responsible for recording audit data and the data structure where the audit log will be recorded.

I have changed the data structure to a parent and child structure where there will be two tables to record the "transaction" and the "fields its values" changed on that transaction.

Take a look at the new data model:

Take a look at the code changed from "Audit Class":

Class Sample.
4
1 1222
Question Rubens Silva · Nov 12, 2019

Pretty straight forward.
I'm tempted to hard-code ISO-8859-1 inside my VSCode extension when working with CSP because this seems to be the encoding used by default, but I need to know if there's any other possible configuration. So can you share your experience when working with CSPs? Like issues with encoding, discoveries regarding it, workarounds etc.
Also, can someone tell me if it's possible to work with UTF-8 encoded CSP files using Atelier without breaking the encoding of the output file?

3
1 986
Article Stephen De Gabrielle · Nov 8, 2019 2m read

Hi, 

It turns out that on windows if you run a command with a windows command file you need to escape the % character as %%

In my case I could test freeze and thaw calls at the command line successfully as

..\bin\cache -s. -U%

...but when my freeze script ran it would fail.

it turns out that a single '%' is striped when run in a windows command file, and it must be escaped as '%%' windows gets:

..\bin\cache -s. -USYS ##Class(Backup.General).ExternalFreeze()

So make sure your freeze and thaw scripts and include a double %%; 

..\bin\cache -s. -U%%
 

I hope this helps

Stephen

3
0 1036
Question Paul Hula · Sep 3, 2019

Hi,

  I believe the healthshare Debug module did this (if you added it) but I no longer have access to Healthshare to look so am asking here.

Suppose I have;

Set fruit="apple"

set person="john"

d ..Something(fruit, person)

quit

ClassMethod Something(objs...) {

  ; Names of variables passed in

}

In side "Something" how can I see the original name of the variable passed in (i.e.

3
0 379