#Caché

0 Followers · 4.5K Posts

  

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

Documentation.

Question Nael Nasereldeen · Nov 12, 2019

Hi,

I am trying to use the %Net.HttpRequest Class, and the request has to pass through a proxy server that requires authentication.

I am usually able to do that by using the following code:

S httprequest.ProxyServer=proxyServer
S httprequest.ProxyPort=proxyPort
S httprequest.ProxyAuthorization="Basic xyzxyzxyz"
 

I have a problem accessing a site that is accessible only using SSL-

The combination of the proxy authentication code and the SSL code-

S httprequest.Https=1
S httprequest.SSLConfiguration = "XYZ"
S httprequest.ProxyHTTPS=1
 

Does not work- I get the following error:

5
0 1134
Question Colin Brough · Oct 17, 2023

Pointers please for debugging a SOAP web-client.

We have several clients in different productions all accessing a web-service. We are trying to add another client in a new production, and its not working. The messages between the relevant Process and the SOAP web-client Operation are the same in the working and the non-working productions. But the web-service is reporting an XML parsing error to the non-working production. Here's the error as reported in the SOAP web-client Operation...

Is there any way to see the output of the web-client Operation - what Ensemble is actually sending out?

3
0 348
Article Mihoko Iijima · Oct 12, 2023 1m read

InterSystems FAQ rubric

ObjectScript allows you to pass any number of arguments using arrays. Do it by adding ... after the argument name.

An example is as follows. In the example statement, the argument information is set in a global variable (a variable stored in the database) so that it can be easily checked after the method is executed.

Class TEST.ARGTEST1 Extends%RegisteredObject
{
ClassMethod NewMethod1(Arg... As %StringAs %Boolean
{
 kill ^a
 merge ^a = Arg
}
}

The result of running it in the terminal is as follows.

1
0 435
Question bindra Bambharoliya · Oct 16, 2023

It appears to be working correctly, mirroring data etc. but the status on the Primary Cache DB is showing the wrong status for the DR DB.

 re-configured Cache Mirroring BUt  still have the same issue afterwards.

The GUI display remains the same regardless.

From primary Cache portal

Mirror member MIrror TYpe Status Journal Transfer Dejournaling
X Failover Primary N/A N/A
Y Failover Backup ACtive Caught up
Z Async Down N/A N/A

 FRom DR Cache PORTAL

1
0 188
Question JASON PARKER · Oct 14, 2023

Hi,

Any examples please of connection a Delphi 11 Front end to a Cache database?

I can get it to connect but then when I try and view data it fails

4 fields in front end

SERVER = 127.0.0.1

PORT = 1972

NAMESPACE = DROP DOWN LIST (I SELECT "DEVELOP" FROM THE LIST

EDIT_CLASSNAME = Default value is Test (with maybe 3 fields just of random stuff)

procedure TFMAIN.BtnConnectClick(Sender: TObject);
 var
 ConnectString: string;
 Success: Boolean;
 Col,Row:Integer;
 FieldName:array[0..10] of string;
begin

0
0 535
Question Chris Paraskiv · Mar 20, 2017

This question is about calling AWS REST APIs. Based on:

http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html

AWS requires REST clients to call their APIs using Signature Version 4 which in case you don't know what I am talking about is a pain in the neck.  Here comes the question:

Has anybody, by any chance implemented the v4 signing alg. in COS? If yes, would she or he have the kind heart to share?

Thanks,

Chris

13
1 1640
Article Megumi Kakechi · Sep 28, 2023 2m read

InterSystems FAQ rubric

In the sample below, an image file is encoded into a Base64 string in a class property, saved, decoded again with Base64, and restored to another file.

【Usage class】

Class User.test Extends %Persistent
{
Property pics As %GlobalBinaryStream;
}


【When importing】

2
1 611
Article Mihoko Iijima · Oct 5, 2023 1m read

InterSystems FAQ rubric

On Linux, use the iris command to execute a routine or method from a shell and get the return value.

For more information,  please refer to the document "About Instance Connections".

An example of a command is as follows.

iris terminal instname [arguments]

The return value of a shell script can be specified using a special variable using the Terminate() method of the %SYSTEM.Process class when the process ends, rather than by specifying an argument in the QUIT or RETURN command that is specified when a routine or method ends. Use the method of returning a value to $?.

2
1 490
Article Ward De Backer · Apr 22, 2017 14m read

Developing a Full-Stack JavaScript web app with Caché requires you to bring together the right building blocks. In the previous part, we created a basic front-end React application. In the second part of this article series I will show how to choose the right back-end technology for your application. You will see Caché allows you to use many different approaches to link your front-end to your Caché server, depending on your application's needs. In this part we will set up a back-end with Node.js/QEWD and CSP/REST. In the next part we will enhance our basic web app and connect it to Caché using

12
1 3340
Question Mark Runyan · Jun 27, 2023

We are retiring a hosted application for an electronic health care records (EHR) system which stored the data on Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2017.2.2 (Build 867_4_20245) Thu Oct 8 2020 16:58:40 EDT.  The hosting company is providing me with a single CBK file.  I need to install a database system to restore the database and provide occasional SQL access for reports when necessary.  I'll need to maintain access to the data for an approximately 10 year retention period.  Not sure how to approach restoring this old of a database and eventually upgrading it to a newer

36
1 1147
Job Josep Balagué · Oct 4, 2023

Need your company a help developing projects on Intersystems Caché /  Iris plataform?

I'm a senior developer, more of 30 years experience in ObjectScript, working as a freelancer for specific projects.

I'm a Spanish citizen, actually located part time in Barcelona Spain, and part time in Phuket Thailand, my work is always 100% remote.

For more information can email: josepzbv@gmail.com

Thanks

0
0 205
Question Edmara Francisco · Oct 3, 2023

Hello,

I need to ensure that the task created/scheduled, by system user, is created in the routine database and not remotely in the ECP to which it is connected. How can I guarantee the creation/scheduling of this task?

Here is a suggestion for creating the routine in both environments:

https://openexchange.intersystems.com/package/Background-Jobs-ECP

Is there another option?

2
0 218
Question Jack Winn · Sep 28, 2023

Hi,

I'm trying to configure a specific process which dynamically sends messages to different endpoints based on datalookup keys, I've configured this aspect. What I'd like is to be able to visually see these connections without hardcoding them so is there a way to dynamically link them, i'll share what I tried below.

Thanks.

2
0 239
Article Mihoko Iijima · Sep 21, 2023 1m read

InterSystems FAQ rubric

The meaning of each timeout value is as follows.

1. [Server response timeout]

If IRIS/Caché processing (routine or query execution) does not finish within this set time, the browser will return an error.

For example, if this value is 60 seconds and it takes 90 seconds to execute a routine/method/query, an error will occur.

2. [Queued request timeout]

For each IRIS/Caché server configured in CSP/REST, you can limit the number of processes that can run CSP/REST concurrently.

2
0 505
Question Robert Barbiaux · Sep 15, 2023

Hi,
I am dealing with a very old code base (some routines date back to 1985 and were running on a M system 😉). It is rather huge and currently contains around 5000 compilable *.int routines.

My goal is to export all routine code as *.int UDL files and setup a git repository containing all routines.

The issue is, approximatively 200 of those routines have storage names that differ only in case. I am using Windows and when exporting those routines using vscode, files gets overwritten depending on routine export order, as Windows NTFS file system names are not case-sensitive.

5
0 266
Question Shen Jun · Sep 13, 2023

Hello InterSystems Community Members,

I hope you are all doing well. I am currently facing an issue while trying to set up the SNMP subagent functionality for my InterSystems Cache installation.

I am using InterSystems Cache for Windows (AMD64) version 5.2.4 (Build 809_0_9006U). The SNMP subagent functionality requires the iscsnmp.dll dynamic library, which I have been unable to locate in my installation directory.

I have checked my installation directory thoroughly, typically located at C:\InterSystems\Cache, and its subdirectories, but I couldn't find the iscsnmp.dll file.

1
0 259
Article Mihoko Iijima · Sep 14, 2023 1m read

InterSystems FAQ rubric

It can be retrieved using the schema INFORMATION_SCHEMA.

INFORMATION_SCHEMA is a system schema and is not displayed by default in the SQL menu of the Management Portal.

The method to display it is as follows.

  1. Open Management Portal → System Explorer → SQL menu.
  2. Check "System" on the left of the schema drop-down.
  3. Select INFORMATION_SCHEMA from the schema dropdown.

The SQL to get the ID, field name (COLUMN_NAME), data type (DATA_TYPE), description (DESCRIPTION) for the specified table (Sample.Human) is as follows.

0
1 554
Discussion Sylvain Guilbaud · Sep 11, 2023

Currently, the SQL privileges (SELECT, INSERT, UPDATE, DELETE) are managed at the tables level, which can be very tedious when you have to administer many roles in an organization, and need to keep them sync with a constantly evolving data models.
By managing privileges at the schemas level, will allow to give SELECT and other DML privileges to *all* or *several schemas* to a role|user, fixing the need to manually synchronize the new tables|views to the roles.

If you agree, I invite you to vote for this idea.

6
0 268
InterSystems Official Bob Kuszewski · Aug 17, 2023

We often get questions about recent and upcoming changes to the list of platforms and frameworks that are supported by the InterSystems IRIS data platform.  This update aims to share recent changes as well as our best current knowledge on upcoming changes, but predicting the future is tricky business and this shouldn’t be considered a committed roadmap. 

With that said, on to the update…

IRIS Production Operating Systems and CPU Architectures

Red Hat Enterprise Linux

4
3 619
Question Sandeep K C · Sep 7, 2023

Hello Everyone,

We currently have CSP application that runs under 2 servers(usually primary), and every month the server reboots for patching SERVER1(primary) in the morning and SERVER2(backup) at night.

Whenever the SERVER1 reboots SERVER2 behaves as primary and when SERVER1 comes back up it will act as backup server.

First Patching:

So, when SERVER1 is down, I need to start httpd service for SERVER2 and stop httpd service for SERVER1 (which is now backup server).

I tried using the code below in terminal to start httpd service for SERVER2 with no success.

5
0 299
Question Gautam Rishi · Sep 8, 2023

Hi all,
I am trying to execute a query like the below code.
set statement = ##class(%ResultSet).%New("some_class:query_method").   // here query method is empty and with rowspec some columname

statement.Execute(param1)

I want to fetch data type of column value returned from above. eg - Name - VARCHAR, amount - INTEGER etc.
How can I get it. Or if not possible directly. Is there any other way to validate or get datatype of values returned. Line we have type() in python3

5
0 1233
Question Sylvain Guilbaud · Sep 8, 2023

Hello,

I have a global whose structure is multi-level and I am trying through a class and a SQL query to display a table which includes all the values ​​and levels.

^AFO("Site","Ville")="66722,3743"
^AFO("Site","Ville","111BB","OBT")=",MMM,XXX,"
^AFO("Site","Ville","111OW","OBT")=",XXX,MMM,"
^AFO("Site","Ville","AANVRBIBS","zzz")    =    "1^^1"
^AFO("Site","Ville","AANVRBIBS","zzz","*","dut")    =    "*afhalen waar gevonden"
^AFO("Site","Ville","AANVRBIBS","zzz","*","eng")    =    "*Pickup where found"
^AFO("Site","Ville","AANVRBIBS","zzz","*","fre")    =    "*Lieu où trouvé"

2
0 527
Article Mihoko Iijima · Sep 7, 2023 1m read

InterSystems FAQ rubric

You can avoid the error by specifying a stream object as the argument of %ToJSON() used when generating a JSON string from a dynamic object.

A code example is below.

USER>set temp=##class(%Stream.TmpCharacter).%New()

USER>set jsonobj={}

USER>set jsonobj.pro1=["a","b","c","d"]

USER>set jsonobj.pro2=["あ","い","う","え"]

USER>do jsonobj.%ToJSON(temp)

USER>write temp.Size
51
USER>write temp.Read()
{"pro1":["a","b","c","d"],"pro2":["あ","い","う","え"]}

See also the documentation for details.

[IRIS] Serializing large dynamic entities to streams

1
0 530
Discussion Yuri Marx · Jul 28, 2020

I'm working with clients planning migrate from Caché to IRIS and I want to summary advantages to go to IRIS. I think is:

  1. IntegratedML - AutoML - Agile machine learning
  2. IAM - InterSystems API Manager
  3. Interoperability
  4. Advanced Reports (JReport)
  5. Cloud Manager/Docker and DevOps support
  6. ZPM - Package manager
  7. Native API - Node.js, Python, Java and .NET interoperability
  8. Core based license x user based license
  9. InterSystems Support and new features
  10. Improved management and monitoring features

Can you help me to think or detail these 10 topics?

12
2 824