#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question Fabio Care · May 25, 2022

Hey there,

I'm writing an import Routine to read files into a global. The code is working fine except for the 'Delete' command. The files are being imported, copied but not deleted. Maybe someone has an Idea what ist happening.

I get the low level return value of -32 but i couldn't find anywhere to show me what that actually means. And my Caché version doesn't support the $ZU command.

7
0 909
Question Wesley West · May 20, 2022

I am looking to separate out a variable into 3 other variables

Basically

S REC="CANTON,TX.,75103"

S ZIP= $ZSTRIP(REC,"*","AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz,.")   RETURNS "75103"

S STA=

S CTY=

I am having trouble stripping the other info, any help would be greatly appreciated and I do realize there is a better way to strip the zip, I just haven't found it yet.

Thanks in Advance!

15
0 710
Article Timothy Leavitt · Mar 17, 2021 3m read

I ran into an interesting ObjectScript use case today with a general solution that I wanted to share.

Use case:

I have a JSON array (specifically, in my case, an array of issues from Jira) that I want to aggregate over a few fields - say, category, priority, and issue type. I then want to flatten the aggregates into a simple list with the total for each of the groups.

10
4 1232
Question prashanth ponugoti · Nov 27, 2021

Hi All,

We have a requirement for one webpage that should be access  in our VPN with out authentication. If it asks user name password that also fine.

This page should be a dashboard for the  ensemble health monitoring. Support Team seating Area we have big SMART Monitor which always shows this webpage. Support engineers keep on eye on this monitor, if it shows action required then .  they will act upon immediately. Expecting some widgets like  

  • Queue Status
  • Inbound application status
  • Out bound operations status
  • Database statistics 
  • Mirror Information

etc.

2
0 449
Question Nilson Cupertino · May 10, 2022

Hello,

I have an error connecting the InterSystems cache with the odbc driver with the ODBC-2017.2.2.865.0-lnxrhx64.tar version using the ubuntu versions 20.04 and version 18.04 (which works with the .Net Core 3.1 version) with the Net 6.

Error:

System.Data.Odbc.OdbcException (0x80131937): ERROR [HY000] [ODBC Cache][State : S1000][Native Code 417]
[libcacheodbc.so]
Access denied
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnectionHandle.

2
0 432
Question Stefan Cronje · Nov 10, 2021

Hi,

We need a web-based SQL tool to connect to Ensemble/Cache, that will offer more functionality than what the Management Portal offers.
It needs to be web based, so that we can host it on a machine that has connectivity to the server via the superserver port. We (the devs and support) only have browser access to the environment via Remote Desktops, hence the requirement.

Has anyone gotten OmniDB to connect to Ensemble/Cache? If so, can you please advise on how to configure it?

Any other suggestions for such a tool are also welcome.

Kind regards,
Stefan

1
0 348
Discussion David Underhill · May 5, 2022

I am sure I came across this in the past with Cache and just saw this again in IRIS.

When rebuilding or swapping a DAT file for a database it retains the Resource of the DAT file, not the Resource of the Database it is being used for.

For instance, if I have a local Database called APP with a resource %DB_APP and I want to refresh the data from another Database called TEST that has a Resource %DB_TEST I can just copy the DAT file from the TEST folder to the APP folder.

No Database settings are changed and it is all done with either IRIS down or the databases dismounted.

5
0 273
Question Andy Stobirski · May 6, 2022

Hi 

Does anyone know where the user generated code resides, the stuff one might write for a production,  I presume it lives in a table somewhere within a database?

Basically, I want to do some dependency analysis of what I've written - find out what's in use, how it's referenced, etc. I know  I can export it to an XML file and work on that, but direct access on a table would be quicker for me.

Cheers

1
0 270
Question Ruiyan Yu · May 2, 2022

Hi,

Doc: classMethode DecimalToHex(decimal As %String) as %String
Converts a decimal string to a hexadecimal string.

w !,$System.Util.DecimalToHex(42) > 2A

w !,$zhex(42) > 2A

w !,$System.Util.DecimalToHex(0) is empty

w !,$System.Util.DecimalToHex("0") is empty

w !,$System.Util.DecimalToHex("00") is empty

w !,$zhex(0) > 0

Is the empty string really the intended output?

Best regards

RY

1
0 261
Question Abdul-Rashid Yakubu · Mar 22, 2022

Hi,

Is there a way to find the median in Intersystems Cache SQL? I know it is not available as an aggregate function. Also in SQL Server I could try something like: 

SELECT
(
 (SELECT MAX(Score) FROM
   (SELECT TOP 50 PERCENT Score FROM Posts ORDER BY Score) AS BottomHalf)
 +
 (SELECT MIN(Score) FROM
   (SELECT TOP 50 PERCENT Score FROM Posts ORDER BY Score DESC) AS TopHalf)
) / 2 AS Median

However, there is no PERCENT Keyword in Cache as well. Any suggestions?

Thanks

4
0 473
Question Charles Me · Apr 27, 2022

Hi,

I am not able to connect to the local web browser.

If I try to open documentation (http://localhost:57772/csp/sys/UtilHome.csp) I get

Caché Server Pages Version 2018.1.6.717.0
Server Availability Error

Server is currently unavailable

If I call up the log CSP.log I have the following:

Access Denied
    Diagnostic
    Failed to connect to 'LOCAL' - Reason: 0 (Connection successfully made but server not responding) (No Retry)

I cannot figure this out

8
0 1435
Question Kevin McGinn · Apr 26, 2022

I wrote this COS script that I can run in a terminal session to get a view of the cache users:

set hdl = ##class(%Library.ResultSet).%New()
set hdl.ClassName = "Security.Users"
set hdl.QueryName = "Detail"
set sc = hdl.Execute()

while hdl.%Next() { do hdl.%Print() }

I know this is a bit rudimentary  but this seems to be the correct script to get users. But looking at one of the clients AIX based instances there are about 3900 users. But this script returns no results. In fact, after the execute if I issue "w hd.%Next()" it returns 0.

4
0 327
Question Scott Roth · Apr 22, 2022

A question has come up that I am not finding the answer for. Does the daily purge process re-index EnsLib.HL7.SearchTable or other SQL tables?  In looking at the purge process documentation I am not seeing anything that mentions EnsLib.HL7.SearchTable. Do we have to manually constantly re-index tables that we create? For example I created another search table based off of EnsLib.HL7.Search table, will I need to constantly watch this as it grows?

1
0 368
Question Kevin McGinn · Apr 15, 2022

When looking at the "Current License Usage Summary" web page, there is a line for both local and distributed "Maximum Connections". I have scrutinized every class that seems reasonable to contain this information but have found nothing that matches the values on the web page. I do not believe these are related to license specifically though I did review all of the potential attributes of the license related classes to no avail.

2
0 364
Article Victor Sanner · Apr 20, 2022 2m read

Hi,

I have wrote an article about how to install the intersystems cache driver in a Docker container, and then deploy it using Azure Functions: 

How to run a (Python) Azure Function as a Docker container & Deploy it using Bicep | Victor Sanner
This might be useful to others, especially the dockerfile which I have copied below. This builds a debian docker container and installs the Intersystems Cache driver, which python can then use :)

To enable ssh & remote debugging on app service change the base image to the one below
# FROM mcr.microsoft.com/azure-functions/python:3.0-python3.
0
2 714
Question Evgenii Ermolaev · Apr 11, 2021

Working with CSP applications, I've noticed behaviour that does not seem to be documented anywhere.

When you create a new application, Cache seems to create a virtual folder and populate it with everything that is in the physical path you set for that application.
This leads to some weird issues regarding compilation of the CSP pages that exist in both physical folder and virtual folder.

9
0 756
Question Abbad Minhas · Feb 3, 2022

We have a requirement to write to an AWS S3 bucket from Cache.

We haven't upgrade to IRIS yet, but are looking at doing so in the future. This requirement cannot wait for the upgrade to happen, unfortunately.

Will appreciate if any one can share any example code, that enables cache to write to an AWS S3 bucket? 

8
1 958
Question Kevin McGinn · Apr 14, 2022

I am writing a Python tools I want to access the %Monitor.System.License properties:

  1. AvailableDist
  2. AvailableLocal
  3. MaxUsedDist
  4. MaxUsedLocal
  5. CurrentUsedDist
  6. CurrentUsedLocal

Initially I want to develop Objectscript to verify access to the properties. But I can not figure the proper syntax.

I first attempted:

set ans = ##class(%Monitor.System.License).AvailableDist

which failed.

I tried another approach:

set ans = ##CLASS(%Monitor.System.License).%GetParameter("AvailableLocal")

which also failed. There is open method so it appears access options are limited.

2
0 335
Question Smythe Smythee · Apr 13, 2022

Hi Team,

I am working on data transformation ADT^A01 from ADT^A01 ,In both source and target MRG segment is not available. How can i create a new MRG segment in Target. Kindly share your ideas how to create a new segment in Data transformation.

Thanks in advance

2
0 457
Question Lukas Dolezal · Apr 10, 2022

I want to store data in an index global without defining an index in an inherited class.
Example:

Class Aclass [ Abstract ]
{
Index TXSBI On TextSearch(KEYS);
Index TXSSI On TextSimilarity(KEYS) [ Data = TextSimilarity(ELEMENTS) ];
Property TextSearch As %Text(LANGUAGECLASS = "%ZText.Czech", MAXLEN = 1000, XMLPROJECTION = "NONE");
Property TextSimilarity As %Text(LANGUAGECLASS = "%ZText.CzechSim", MAXLEN = 1000, SIMILARITYINDEX = "TXSSI", XMLPROJECTION = "NONE");
...
//other code

Class AAclass Extends (%Persistent, ClassType.SuperClass, Aclass
5
0 679