#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question Karl Kirk · Mar 1, 2018

Are there any BDD testing automation implementations within Mumps/Cache Objects already in existence?
We are looking at using Cucumber for our Java regression test automation and would like to use similar feature file testing with the Cache code.


Looking to use something existing before building it.
Regards,
-Karl

5
1 1098
Question Fábio Campos · Apr 27, 2021

Hello everyone!

Some time ago, I changed the configuration in SQL Runtime Statistic to "Turn on Stats code generation to gather stats at the Open and Close of a query". With this change, the CACHE base (cache/mgr/cache/) has grown a lot to reach 198GB.

Yesterday, I returned the configuration of SQL Runtime Statistic to the default which is "Turn off Stats code generation" and the cache base is no longer growing.

My question is?

How to delete this data that was created in the CACHE base (cache/mgr/cache/) and what data I can delete without affecting the system.

Thanks,
Fábio Louly.

3
0 286
Question Alex Kogan · Apr 26, 2021

Hello,

I have a quick question regarding TSTART, however not certain if there is an answer.

If I am inside the transaction and I loose connection - I always assumed that transaction would TROLLBACK, however it does not.

Is there anything special I need to set up with my TSTART, in order for this transaction to safely rollback?

*********

As example: Let's say I am inside the TSTART and setting up / altering some data and my VPN connection got disconnected.  I kind of expect all the data to be rolled back.  

Thank you,

Alex

6
0 320
Question Kurro Lopez · Apr 23, 2021

Hello everyone,

I don't want to believe that Intersystems didn't add a method/process/rule to sort alphabetically a list of names (in array, $ LB or whatever)

I haven't found any documentation about this. I've even tried comparing two strings but have not found a solution.

My cry for help is...

Does exists any command to compare two strings and check if one of them is lower or upper according to aphabet?

Please, give me a light in this dark

Best regards.
Kurro Lopez

7
0 1281
Question Emanuel Lazar · Feb 18, 2021

httpRequest POST file Upload multipart

1. is there a code example step-by-step, how to build each part  ?

I tried the demo from intersystems doc's,

I checked it in .Net response, that didnot recognize the File-data part

2. I noticed, there is :

SET BinaryMIMEPart.ContentType="application/octet-stream"

but missing : 

SET BinaryMIMEPart.ContentDisposition (as analogue, let say for VBA EXCEL )

or I do it via the:

Do BinaryMIMEPart.SetHeader("Content-Disposition",...) ?

that is not analouge for VBA

need any code example link, to execute correctly all the multipart (cache call it MIMEtype)

settings

11
1 2467
Question Eudoro van der Biest · Apr 23, 2021

I am new to Cache, we are trying to move a 4 TB database over the internet, but this will be take too long to copy the single backup file. In Oracle and MS-SQL Server there is an option of doing log shipping. Is there such an option in Cache?

I want to copy the initial backup file one weekend, then keep sending the Journals (logs) the new location.

Thank you,

Eudoro

5
0 408
Question Cache Cache · Apr 22, 2021

Hi,

I have a requirement to convert few screens having character based interface built in Cache to a web based interface in Java while still keeping Cache as the backend which means database will remain the same. Wanted to know if we have any tool in the market which can help doing that keeping in consideration that these screens in cache are using mumps code. 

If we don't have any tool, would appreciate if someone shares their experience in the manual conversion as well.

6
0 453
Announcement George James · Apr 16, 2021

Announcing gj :: locate.  A simple extension for VS Code that will help you get to the source of your errors.

In VS Code, using either the Serenji extension or the basic InterSystems objectscript extension, this small add-on will open the appropriate class or routine and position you at the exact line where an error occurred.

No more tedious counting of lines to find <UNDEFINED>zCredit+206^Ledger.Invoice.1.  Instead, with gj :: locate you can get there with just a couple of clicks.

This 20 second video tells it all:

Download now and enjoy getting to the source of your errors.

2
2 362
Question kizito Ayogu · Apr 12, 2021

Please how can I schedule a call with InterSystems admin? We have a need  to back up our cache DB  server in azure using recovery services vault/snapshot. We Have come up with several designs but we need expert advice from InterSystems’ s team or anybody here in the community. I have been asked to contact  an InterSystems admin for support but I don't know how to schedule a meetings since they don't have teams presence with our company.

2
0 317
Question Virginia Rogers · Apr 20, 2021

Hello,

I'm using $ZF(-1) in a class method which will be invoked from a csp page.

What determines the environment of the spawned process?  If I use $ZF(-1,"echo hello world > output.txt"), the resulting file is owned by cacheusr:cacheusr.  However, when I use $ZF(-1,"printenv > output.txt"), the environment is from my personal unix account, no matter which Cache username I'm logged in under when running the web application.  

Thanks

9
0 410
Question Daniel Natali · Apr 19, 2021

Hi Community,

I am trying to access another process's content of objects like %request and %session. I am using the class/method "%SYS.ProcessQuery:VariableByPid". Does anyone knows how to get the value of the properties like %request.Data("ID",1)  from one process that is running on the DB server?

Example of what I am trying to do:

        set rs=##class(%ResultSet).%New("%SYS.ProcessQuery:VariableByPid")
        set tsc=rs.Execute(ProcessID,"%request")
        while rs.%Next() { 
            w "Name:"_$g(rs.Data("Name")),!
             w "Value:"_$g(rs.Data("Value")),!
        }
        do rs.

3
0 471
Announcement Max Parry · Apr 20, 2021

gj :: connect is a demonstration extension that shows how to extend the Intersystems Server Manager to perform custom actions.

It makes use of the context menu contribution points to add both in-line and right click menu options.

It also demonstrates how to create a new top level folder in your workspace corresponding to the server and namespace selected in Server Manager.

0
1 184
Article Laurel James (GJS) · Apr 20, 2021 3m read

You may think it isn’t too difficult to get from label+offset^routine to the actual source line responsible for the error.  For an expert it isn't that hard... most of the time.  But there are enough oddities and special rules that even an expert can get it wrong, whilst spending a lot of time trying to get there.

gj :: locate is the latest tool from George James Software – it debugs any error, class or routine by converting the location of an error in compiled .int code to the corresponding location in your source, and then taking you right there.

Image this scenario…

0
1 374
Question Andrea Schecker-Krauss · Apr 16, 2021

I checked out a Git-Branch and want to Import all Objectscript-Objects to my localhost.

While using Import without Compilation I receive a lot of errors.

request to http://127.0.0.1:57772/api/atelier/v3/TSTCBW/doc/MusLT01LCOD.int?ignore… failed, reason: connect ECONNREFUSED 127.0.0.1:57772

While using Import and Compile I receive much more of this errors.

Is there a setting, that I have to key in?

Or how can I synchronize my namespace to test my changes?

5
0 494
Question Abed Gzmawe · Apr 18, 2021

hi,

I have redhat 8.3, after installation Cache and everything looks good , when i stop the DB by  /usr/cachesys/cstop i get :  

Apr 18 16:10:22 opticanan Cache(CACHE)[115418]: Cannot remove database lock /cav/mln/cache.lck: Delete failed
Apr 18 16:10:22 opticanan Cache(CACHE)[115418]: Cannot remove database lock /cav/w/mlnw/cache.lck: Delete failed
Apr 18 16:10:22 opticanan Cache(CACHE)[115418]: Cannot remove database lock /cav/w/mgrw/cache.lck: Delete failed
Apr 18 16:10:27 opticanan Cache(CACHE)[115418]: Unable to open database lock /usr/cachesys/mgr/fdbms/cache.

3
0 353
Question CEDRIC CLERMONT · Apr 15, 2021

Hello everyone,

First, thanks in advance for your help :-)

I noticed that a query called directly in a method of a class of a business operation does not return the same result as if I apply the same query in the same Caché database from Squirrel !!! 

I don't understand why ??? 

Here is the query : 

SELECT Header.MessageBodyId, MsgBody.Name AS typMessage
FROM Ens.MessageHeader Header
INNER JOIN EnsLib_HL7.Message MsgBody on Header.MessageBodyId = MsgBody.ID AND MsgBody.TimeCreated >= '2021-04-12 00:00:00' AND MsgBody.

4
0 369
Question Martin Staudigel · Apr 14, 2021

Hello,

fine tuning access permissions is a difficult issue in Caché, at least for me as it seems. More generally, I would be interested in how to find out which permission a user is missing when a permission violation is logged. In this specific case a user, created in (from my point of view) an identical way as on other instances, is not allowed to execute an operation within a CSP service on the messagebank (which however works on the other machines). Unfortunately, the message in the errorlog does not tell where exactly the access violation occurs, or what permission is missing.

5
0 481
Question Sagun Tangsrisanguan · Jan 16, 2020

Hello Everyone

I use VB.NET to dev. some program for query data 

Code in VB like this

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click     

 AxVisM1.MServer = "CN_IPTCP:myserver[1972]"
            AxVisM1.NameSpace = "LABDATA"
            AxVisM1.Code = "s err="""",err=$$select^LVBEPVIS(""" & ln & """)"
            AxVisM1.Execute(AxVisM1.Code)
        

        tmptxt = AxVisM1.PLIST.ToString

messagebox.show(tmptxt)

but it show only 

and then i try to run same command in Cterm. it show 

Could you suggest  What wrong ? and Why VISM.

7
0 461
Question Michael Lei · Apr 12, 2021

Anyone hs encountered this?

04/13/21-07:21:28:522 (191540) 0 ECP: Lost net connection: Error 104=(Connection reset by peer)
04/13/21-07:21:28:522 (191540) 1 ECP: connection from 'ECP1:HIS-AAA4:CACHE' dropped (1.1.1.1:14400)
04/13/21-07:21:28:672 (198470) 0 ECP: Mirror Connection request from 'ECP1:HIS-AAA:CACHE' (1.1.1.1:14419)

1
0 432
Question Mark Runyan · Apr 9, 2021

Hi, in the end I want a report like this:

Schema TableName RowCount
SYSTEM RADplus_event_log 18,251,308
DocM log_image_transfer 7,196,272
SYSTEM RADplus_audit_database_tables 3,345,757
   
SYSTEM view_summary_mvmt 0

In my case I have about 1,230 tables/views in the database.  The initial approached I've used is to use this SQL to generate SQL to make the actual measures:

SELECT 
string('select ''', table_schema ,''' as "Schema", ''', table_name,''' as TableName, COUNT(*) as RowCount from ' , table_schema,'.

4
0 1140
Question MARK PONGONIS · Apr 7, 2021

anyone know of a simple way to search a blob of text from a list of keywords in one fell swoop, without having to iterate through each keyword and perform an individual search? Ex. 

s keywords="This,blob,text"

s text = "This is a sample blob of text"

i text[keywords w "hit"

2
0 334
Question Michoel Reach · Apr 8, 2021

We have a Unicode installation of Cache'. A client wants to send us documents that will be machine-read and loaded, automatically. They want to create the documents in ISO-8859-1 ("Latin-1"). We'd need to convert the text to UTF8 for our system. I saw the documentation on the $ZCONVERT function, but I didn't see this option. How should it be done?

Thanks!

10
0 1507
Question Maik Gode · Apr 7, 2021

Hey community,

I want to create my own table resizer. I know that there are some plugins that are doing exactly this but I would like to create my own one. :)

I have created a function, which is called in the onloadHandler and which append a div to each th-element of a given table. The method looks like this:

function initializeTableFeatures(){

    jQuery.each($("#table > table > thead > tr > th"), function() {
         if(this.id !== ""){
              var div createDiv($(this).outerHeight());
              $(this).append($(div));
              $(this).

1
0 285