Hello!
Trying to delete txt file in folder: /tmp/test
set sc = ##class(%File).Delete("/tmp/test/test1.txt", .ret)
ret=-13
How I can delete file in Lunix system?
InterSystems Caché is a multi-model DBMS and application server. See more details here.
Hello!
Trying to delete txt file in folder: /tmp/test
set sc = ##class(%File).Delete("/tmp/test/test1.txt", .ret)
ret=-13
How I can delete file in Lunix system?
This error occurs when an instance of the class is already open at compile time.
There are two ways to deal with this issue:
If you want to determine which process is using the class, try the sample routine below.
/// Test.macHello Guys,
Our cache application uses REST web services and handles single API request perfectly with response (response status and related data). But sometimes user sends multiple requests to the same API simultaneously ( ie, without waiting for the first to respond ), where one request will succeed (not necessarily the first) and the others will fail.
So, I need to handle the requests one by one after completing and sending the response for first request in the queue then process the next request and so on.
Is there any appropriate way of handling this problem?
I am trying to get data out of a cache backup. I am completely new to Intersystems Cache.
I got a docker image of Cache from this post:
I want to get the data from my backup into this docker image. First, I need access to a gui and a cli, then I need some instructions or documentation for actually pulling in the backup data.
Thanks! This is all new, so pardon my lack of knowledge here. If I can provide any more information let me know.
Hi all,
Does anyone have experience with obtaining logs from Caché databases and parsing them now? Please leave me a message.
I ask because my project involves some hospitals that used Caché when creating databases over 10 years ago. Currently, we cannot replace the database, but we need to check and parse the database logs from the Caché.
Thanks.
Dear experts,
I'm trying exported a project from version '2012.5' to '2018.1.4' but is returning ERROR #7602.
Please, could you help me. How can I do it?
Below is steps that I did:
| ACB>D $System.OBJ.Load("C:\GlobalPatch.xml") Load started on 01/07/2024 00:06:51 Loading file C:\GlobalPatch.xml as xml Imported global: ^GlobalPatch Load finished successfully. ACB>Set sc = ##class(%Studio.Project).InstallFromGbl("^GlobalPatch","fv") ERROR #7602: Exported on version '2012.5' but this machine on version '2018.1.4' so unable to import |
Thank you.
Hello, How are you doing?
I'm currently developing a proyect in wich I want to use %SYSTEM.Event to process queues. I realized that if a queue has events pending to be sent to the listeners, when I restart the cube the queue with all its events are deleted.
Is there a way to store the queue with their messages in a Global?
I've checked the documentation but I can't find any option for this prupose.
https://docs.intersystems.com/supplychainlatest/csp/documatic/%25CSP.Do…
Thank you!
in Management Portal on Freespace screen there are links to compact and truncate a database.
Can these tasks be done programmatically? I have looked through documentation and dont see anything but I hope I just missed it.
Thanks,
David
If a relationship is set and there is a large number of n in a 1:n ratio, a large amount of memory may be consumed due to sequential processing of the relationship.
After referencing a many-sided object in a program and internally swizzling it, simply releasing the variable containing the OREF (deleting it, setting another value, etc.) will not free the many-sided object and the relationship object. This is the cause.
The Art of Mapping Globals to Classes (4 of 3)
The forth in the trilogy, anyone a Hitchhikers Guide to the Galaxy fan?
If you are looking to breathe new life into an old MUMPS application follow these steps to map your globals to classes and expose all that beautiful data to Objects and SQL.
If the above does not sound familiar to you please start at the beginning with the following:
The Art of Mapping Globals to Classes (1 of 3)
The Art of Mapping Globals to Classes (2 of 3)
The Art of Mapping Globals to Classes (3 of 3)
This one is for you Joel!
Mapping Examples
Clearly if you have a fourth article in the trilogy you need to go for the money grab and write the fifth, so here it is!
Note: Many years ago Dan Shusman told me that mapping globals is an art form. There is no right or wrong way of doing it. The way you interpret the data leads you to the type of mapping you do. As always there is more than one way to get to a final answer. As you look through my samples you will see there are some examples that map the same type of data in different ways.
Now, let’s say you can’t access the terminal or simply you just rather execute it from a web interface. In this article, I will show you how to execute terminal commands from a simple web page.
For example, in the image below you see how we execute $zv on a webpage:

This is mostly possible due to the XECUTE command in Caché ObjectSCript. This command takes a string as a parameter and tries to execute it. This is the command used from the webpage, to execute what is being passed from the left navigation menu.
This article contains three snippets of code.
There is no need to recompile the routines after the version upgrade, but since the version update overwrites %SYS, user-created INT and OBJ format routines (*.INT,*.OBJ) in %SYS will be deleted. Therefore, you need to be careful.
MAC, INT and OBJ routines with the following names are not deleted.
%Z*.INT, %z*.INT, Z*.INT,z*.INT
%Z*.OBJ, %z*.OBJ, Z*.OBJ,z*.OBJ
Please note that classes/CSPs need to be compiled after upgrading.
However, if you are upgrading to a maintenance release, no compilation is required. For details, please refer to the document below.
I got a problem to resolve, to sum it up I need to extract a function body from a JS file with cos.
I already got the JS code in a string and the function name but I'm kinda stuck as to how to get my function body, I already tried a few things (regEx, counter bracket) but there are comment and strings that block them from functioning. Is there a javascript parser or a good way to do it except by creating a javascript parser?
If multiple InterSystems products are installed on the same system, the latest version of the InterSystems ODBC driver among the installed products will remain registered in the driver manager.
You can change to any driver by changing the registry entry below.
Please note that running RegFiles.bat does not change the ODBC driver.
The registry entry is as follows.
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key Driver
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key SetupI have written an in network single web page containing a jquery datatable. I want to add the "href" tag to link the Terminal window based on the IP.
Below is a list of failed attempts to make this work.
W " <td><a href=""javascript:pass('"_PASS_"|"_IP_"|"_USER_"|"_PORT_"')"">Terminal</a></td>"
or
W " <td><a href=""javascript:openCMD('test')"">Terminal</a></td>"
or
W " <td><a href=""C:\\Cachesys\bin\cterm.exe /console=cn_iptcp:ip[23"">Terminal</a></td>"
W " function openCMD(ip) {"
W " var oShell = new window.ActiveXObject(""WScript.Shell"");"
W " oShell.Run(""dir *.*"");"
W " oShell.
.png)
Thanks,
Kris
DSN created and tested in Linux;
.png)
This DSN does not list SQLGateway connection->DSN list
I have set the LibPath
To resolve the error <PROTECT>, remove the read-only attribute of the system-wide library database (IRISLIB for InterSystems IRIS, CACHELIB for Caché/Ensemble/HealthShare (Caché-based))
Once you have finished importing the routine, remember to change it back to read-only.
[Version 2013.1 and above]
[Management Portal] > [System Administration] > [Configuration] > [System Configuration] > [Local Database] Uncheck "Mount read-only" from the database name link.
.png)
[Version 2011.1 - Version 2012.
I am often asked by customers, vendors or internal teams to explain CPU capacity planning for large production databases running on VMware vSphere.
This post was originally written in 2017, I am updating the post in February 2026. For context I have kept the original post, but highlighted changes. This post was originally written for ESXi 6.0. The core principles remain valid for vSphere 7.x and 8.x, though there have been improvements to vNUMA handling, CPU scheduling (particularly for AMD EPYC), and CPU Hot Add compatibility with vNUMA in vSphere 8.
Hi,
What is the alternative for INTERSECT in cache. I tried Intersect but not working.
Thanks for suggestions.
thanks
Jude
Class definitions created by users are stored in class definition classes. They can be used to obtain a list of class definitions from a program.
Note: Class definition classes refer to all classes contained in the %Dictionary package.
In the sample code below, a list of class definitions is obtained using the query Summary of the class .
ClassClassMethod#dimAn example of execution is as follows.
When executing OS commands, use $ZF(-100).
do$ZF100When executing OS shell commands such as mkdir and copy, also specify /SHELL.
Please refer to the following documents for details:
Hi folks!
I need to change a status database to RW with the class
I used scripts for this, for example, I can create a database like this
setup_database() {
csession -B -U "%SYS" <<-EOF
zw ##class(SYS.Database).CreateDatabase("/InterSystems/cachedb/mydatabase")
set Properties("Directory")="/InterSystems/cachedb/mydatabase"
zw ##Class(Config.Databases).Create("MYDATABASE",.Properties)
halt
EOF
How can I modify this status R/W?
Hey Developers,
We're honored to invite you to the first Benelux Caché User Group meetup since the start of COVID! It is dedicated to the Columnar storage, IRIS licensing, hardware & performance, and embedded Python!
⏱ Date: 04 May 2023 from 13:30 to 17:00
📍Venue: InterSystems BV, Medialaan 32 / 1, B-1800 Vilvoorde, Belgium
Do you or does your team work with InterSystems IRIS or Caché? Then this afternoon's event will be interesting to gain additional insights and meet colleagues. The team of InterSystems will be there too.
The agenda includes sessions from both the User Group and InterSystems itself, and at the end of the meeting, InterSystems will provide a snack and a drink as usual. Participation in the user group and meetings is free of charge!

I'm working for an organisation that is running a very old version of InterSystems Cache (5.016) which runs on AIX . The last two times we have re-booted Cache, we have encountered rollbacks. I've been asked two questions. During the rollback it was "How long is it going to take?" and after the system returned, it was "So what caused it?". My answer to both was "I don't know".
Hi,
After upgrading from Cache to IRIS while running the web application I am getting an error in message.log
Error: Create Gateway - Unable to create new gateway connection: ERROR #5023: Remote Gateway Error: <NOTOPEN>%AddToCurrentClassPath+6^%Net.Remote.Gateway.1
Cache Version : Cache for Windows (x86-64) 2018.1.7 (Build 721U) Fri Mar 18 2022 22:07:35 EDT
Upgrade to IRIS Version : IRIS for Windows (x86-64) 2022.1.2 (Build 574_0_22511U) Thu May 11 2023 22:36:05 EDT
I tried both the latest 32-bit and 64-bit Cache ODBC drivers, but I’m getting this “Message sequencing error” when I attempt to connect to the Cache server. Client is a Windows Server 2022. Server is a 2008 version of Cache ( or customer thinks). I’ve tried a number of things without success. If I enter invalid credentials I do get the quick “Access Denied” response. But when I have the proper IP/port/namespace/credentials I consistently get this error below. Google shows others struggle with that error, but no resolution.
I think WebTerminal is an outstanding project, kudos to @Nikita Savchenko
One useful functionality is missing, the the ability to run Operating System (Linux or Windows) commands.
In many cases WebTerminal is used when access to the OS is difficult, so having the ability do run simple OS commands from WebTerminal would be a big advantage.
Using "normal" terminal, be it Windows IRIS console, Windows Telnet or within "iris session" in linux is simple, from the IRIS terminal prompt just precede the OS command with "$" or "!".
See the article "Terminal tip: Running OS-level commands" from @John.
Good morning,
First of all we would like to thank you for your time reading, thinking and aswering this question.
We have been developing a Transformation to convert a source ORU_R01 to a target ORU_R01. For each OBX segment we need to check an if, and then, if it is true we just need to put this OBX and continue to the next iteration, otherwise, if it is false, we need to put (copy) the ORC + OBR + TQ1 before this OBX, and then put this OBX, and after that, the SPM.
We have been creating and testing two variants.