#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question Jonathan Wald · May 25, 2022

I am creating "models" that contain rows in several class tables called Model, Path, Node.

So, model 19 includes 1 row in the Model table, 11 rows in the Path table, and 10 rows in the Node table. 

I'd like to write some utilities to "move" model 19 from one instance to another.

I found some old (maybe deprecated?) functionality, the %SYNC.Transporter, which seems to work.  I can write a SQL query to select the rows of interest, and export those record to a ,gof file.  I can create 3 of them (one file per class), and then on the target instance, I can import from the .

4
0 730
Question Steve Riddle · Nov 1, 2021

Hi,

Has anyone experienced any issues when using Cloudflare in front of a csp application?
I keep getting 502 errors when Cloudflare is active?

Strangely, the SMP works but only if I remove the trailing question mark from the url but it doesn't resolve the issue when I try any other csp application URL's.

3
0 327
Question Kevin McGinn · May 31, 2022

I have a database with almost 1T of free space. I want to run the compaction process to reclaim and subsequently free that space. I am aware that this process is a background process but will the level of processing required to move this volume of space to the end of the file to allow for reclamation impact system usage while this process is running. Essentially, does this process run at a low priority and use  processing as available. I am trying to determine if I should run this over a weekend or can this be run at any time.

2
0 377
Question Mark OReilly · May 13, 2022

Hi:

Currently we are using an older Healthshare instance but I am not opposed to using IRIS as we will upgrade eventually. 

Currently for monitoring productions we have a Montior screen. We have both the Queues page and a Deepsee dashboard which has current status of our services. The issue with the Deepsee method we currently have with traffic lights is 1) the page is a bit slow to load the metrics 2) any new services from the team  a new widget needs created and although this is easy enough to do it just is time consuming.

5
0 528
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 916
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 721
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 1238
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 452
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 437
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 349
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 277
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 275
Question Ruiyan Yu · May 2, 2022

Hi,

Doc: classMethode DecimalToHex(decimal As %String) as
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 264
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 476
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 1449
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 332
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 369
Question Michael Davidovich · Apr 22, 2022

I am referencing the documentation here: https://docs.intersystems.com/ens201815/csp/docbook/DocBook.UI.Page.cls…

I have embedded html within a <script language="cache" runat="server"> block.  Within that I'm defining and using a macro, but it doesn't display at all. Something like:

<script language="cache" runat="server"> 
s stringData=obj.data 
#Define displayString stringData 
&html< 
<p>$$$displayString</p> 
> 
</script>
2
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 366