#Caché

0 Followers · 4.5K Posts

  

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

Documentation.

Article John Murray · Feb 8, 2018 1m read

When defining a server connection in Atelier we are required to enter a username and password because these are mandatory fields in the dialog. However, if the /api/atelier web application definition on that server has only the "Unauthenticated" checkbox set in the section titled "Allowed Authentication Methods", then our Atelier connection will succeed even if we supply an invalid username and/or password.

6
0 739
Question Anna Golitsyna · Oct 13, 2021

Is there an ObjectScript analog of Find with Match Element Type option? I know there is an  ObjectScript analog of Find in Files, Studio.Project.FindInFiles and Studio.Project.FindInProject, but I failed to locate so far an analog of Edit/Find. I am specifically interested in Match Element Type option so I could search across selected files for globals. Somehow Studio.Project.FindInFiles does not offer this option natively.

3
0 453
Article Mihoko Iijima · Jan 25, 2024 4m read

InterSystems FAQ rubric

If the system does not stop for 24 hours, old journal files will be deleted at 0:30 according to the "Journal file deletion settings".

A possible cause of journal files remaining that are older than the "Journal file deletion settings" is that there are transactions that remain open.

In that case, you will be able to delete the journal file by searching for processes executing transactions and finalizing the transactions.

The sample below checks for the existence of open transactions, and if they exist, outputs the target file name and journal record information.

3
2 323
Question John Hotalen · Jan 23, 2024

Dear Fellow Cache Developers and Cache Experts,

The company I work for has a Cache Web Application that is built on the Cache ZEN framework.  The application has run very well for almost 2 decades across many versions of MS Internet Explorer ranging from IE5 all the way through IE11.   

0
0 142
Question Daniel Aguilar · Jan 18, 2024

Hello, I am writing to you because I am receiving a strange error on our Integration server after restoring a Production copy.

On other occasions we had restored the Production copy on this server without problems (in fact it was done weekly)

After restoring the copy when entering the Studio this error appears:

3
0 276
Question Anna Golitsyna · Jan 19, 2024

I am inspecting our DB globals in order to reduce sizes of the worst offenders if possible. When I come to a large global, I am interested which of its nodes are the largest. Hence code below with unexpected different results. Any explanations why are results different?

6
0 437
Question Token Ibragimov · Jan 11, 2024

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?

7
1 220
Article Megumi Kakechi · Jan 11, 2024 2m read

InterSystems FAQ rubric

This error occurs when an instance of the class is already open at compile time.

There are two ways to deal with this issue:

  1. Terminate the process or application that has the instance open
  2. Compile options in the studio build menu: Check the compile flag “Compile classes in use” and compile.  

If you want to determine which process is using the class, try the sample routine below.

1
0 189
Question Sandeep K C · Jan 10, 2024

Hello 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? 

4
0 356
Question Logan Kitchen · Dec 22, 2023

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.

3
0 262
Question liu yanjie · Jan 7, 2024

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.

12
0 213
Question Lucas Galdino · Jan 6, 2024

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.

3
0 171
Question Daniel Aguilar · Dec 4, 2023

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!

10
0 326
Question David McPfimeloronti · Dec 18, 2023

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

6
1 490
Article Megumi Kakechi · Jan 4, 2024 1m read

InterSystems FAQ rubric

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.

0
0 290
Article Brendan Bannon · Dec 27, 2016 8m read

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)

7
0 2281
Article Brendan Bannon · Dec 27, 2016 8m read

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.

15
1 2713
Article Jose Ruperez · Oct 11, 2016 4m read

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.

7
0 32571
Article Mihoko Iijima · Dec 28, 2023 1m read

InterSystems FAQ rubric

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.

0
1 224
Question Stephane Devin · Dec 14, 2023

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?

8
0 473
Article Mihoko Iijima · Dec 21, 2023 1m read

InterSystems FAQ rubric

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 Setup
0
0 346
Question Richard Prouvot · Dec 19, 2023

I 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

" <td><a href=""javascript:openCMD('test')"">Terminal</a></td>"

or

" <td><a href=""C:\\Cachesys\bin\cterm.exe /console=cn_iptcp:ip[23"">Terminal</a></td>"

3
0 198
Question Kris Roberts · Dec 14, 2023
  • I take a time stamp and convert it to a PosixTime
  • Then for an Timezone offset (for example America/New_York would be -05:00) convert it to seconds  -18000
  • I add the -18000 to the PosixTime
  • I convert the PosixTime to time stamp - shouldn't the time stamp show a lot more of a difference?  
  • I am guessing that adding -18000 is not really a difference of 5 hours?   What am I missing?

Thanks,

Kris

2
0 294
Article Megumi Kakechi · Dec 7, 2023 2m read

InterSystems FAQ rubric

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.

3
0 464
Article Murray Oldfield · Jun 6, 2017 17m read

I am often asked by customers, vendors or internal teams to explain CPU capacity planning for large production databases running on VMware vSphere.

In summary there are a few simple best practices to follow for sizing CPU for large production databases:

  • Plan for one vCPU per physical CPU core.
  • Consider NUMA and ideally size VMs to keep CPU and memory local to a NUMA node.
  • Right-size virtual machines. Add vCPUs only when needed.

Generally this leads to a couple of common questions:

7
0 6625