#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

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.TimeCreated <= '2021-04-12 02:59:59' AND MsgBody.DocType LIKE '%ADT%' A

4
0 357
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. I attach a

5
0 464
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.OCX cannot re

7
0 442
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 417
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,'.',table_name , ' UNION ALL ')  as

4
0 1111
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 320
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 1460
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).css('position','relative');
     


1
0 278
Article Tani Frankel · Apr 7, 2021 1m read

In Studio you could open a class directly via it's name, without having to traverse the package tree with multiple clicks until arriving at the desired class.

You would Ctrl + O or (File -> Open) and be able to simply type in the class name, for example:

You press Enter, and viola - the class is opened.

How do you achieve this in VSCode?

1
0 819
Question Anna Golitsyna · Jan 19, 2021

I have multiple projects that I utilize when debugging in Cache Studio. One of my projects suddenly lost the ability to step through commands with the yellow box and the cursor moving though code lines. The cursor just sits at the entry line while variables apparently do change. Interestingly enough, if I change the project and the debug target, the "yellow box" ability is still there. Apparently losing this functionality is by project/debug target/whatever. The goal is, of course to return it back but how?
P.S. Maybe it is some odd Cache Studio registry corruption or some Cache system global c

24
0 853
Question Yone Moreno · Mar 3, 2021

Hello,

First of all thanks for your time to read and reply,

We would need some help,

We have an ORM_O01 which has a NTE.3 with a Line Feed

Our Process converts the XML to ER7 using the ITB as follows:

set context.mensajeHL7 = ##class(ITB.HL7.Util.Convert).XMLToER7(hl7,.tSC,"2.5")

When we show the ER7 we observe:

INTE|1||Psa libre\X0A\ Indice psa

We have thought about the following solution, where mensajeXML is the XML representation of the ER7 shown:

set mensajeXML = $REPLACE(mensajeXML,"\X0A\",$CHAR(13))

It would work only for the Line Feed case

Is there any recommended way to c

1
0 502
Question Michael Lei · Mar 17, 2021

Want to perform SNMP performance monitoring of cache2010 on AIX 5.3. Since the SNMP service that comes with AIX does not support agentX, it cannot extend the support for cache database. Therefore, I plan to deploy net-snmp on AIX first, then enable agentX, and finally configure cache's subagent. Is this workable? Any documents? Thx!

1
0 292
Question Roger Taylor · Mar 29, 2021

Background: We have our own SQL map that predates InterSystems'. A program writes an XML file for each table map class as $system.OBJ.Export would. $system.OBJ.LoadDir loads the XML files into .cls files.

The reason is a long story, but we need to update parameter EXTENTSIZE (only) in existing classes. This does not seem to happen. As a test I used $system.OBJ.Export to make an XML file and edited EXTENTSIZE in the two places it appears in the XML:

<StorageStrategy>SQLStorage</StorageStrategy>
<Parameter name="EXTENTSIZE"><Default>1001</Default></Parameter>

<Storage name="SQLStorage">
<Type>%

4
0 671
Article Iryna Mykhailova · Oct 30, 2018 11m read

InterSystems states that Caché supports at least three data models – relational, object and hierarchical (globals). On can work with data presented in relational model in a program written on C# the same way one works with any other relational DB. To work with data presented by object model in C# one needs to use .NET Managed Provider or some kind or ORM. And starting with version 2012.2 one can work directly with globals (or use direct access to hierarchical data) via Caché eXTreme for .NET

18
2 2333
Article Andreas Schneider · Mar 28, 2021 4m read

This small tutorial described how to „register“ the ADO.NET Database Provider (Driver) for InterSystems IRIS and InterSystems Caché on a Windows machine.

Before we start: Why need the ADO.NET Database Provider to be registered?

ADO.NET provides factory classes standardize the way programmer will create a provider-specific Connection. This simplifies the way programmers create provider specific instances in a generic data access API. Details about that can be found here: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/obtaining-a-dbproviderfactory
If an Application use this syste














0
0 1317
Question Anderson Negreli · Mar 25, 2021

Hi,

I'm doing a query in SQL and I need to sort my data by some non-repeated field.

Unfortunately, my data is grouped in a way that I cannot guarantee that any column will not have repeated data, so one solution would be to take the row number.

Also, the Cache is not accepting Row_Number () in my querry and I would like to know if there is another solution to return line numbers or some way to add this function to the Cache.

Best regards.

7
0 3814
InterSystems Official Jeff Fried · Mar 26, 2021

Three new sets of maintenance releases are now available: 

  • Caché  2018.1.5, Ensemble 2018.1.5, and HSAP 2018.1.5
  • InterSystems IRIS 2019.1.2, IRIS for Health 2019.1.2, and HealthShare Health Connect 2019.1.2
  • InterSystems IRIS 2020.1.1, IRIS for Health 2020.1.1, and HealthShare Health Connect 2020.1.1

Installation kits and containers can be downloaded from the WRC Software Distribution site.

These are maintenance releases with many updates across a wide variety of areas.  For information about the corrections in these releases, refer to the documentation for that version, which includ

1
0 499
Question Evgenii Ermolaev · Mar 25, 2021

Currently, I am working on a CSP application that is supposed to generate reports. Users will have varying access to said reports. To achieve that, I plan to use LDAP (because it's used in other systems where those users already exist). Documentation does not provide enough information, so I'd like a clarification:
Do I need to enable LDAP authentication for the whole Cache instance to use LDAP authentication in a single CSP application in that instance?
We (as in me and my organization) use Cache Authentication for our instances, and one of the reasons to use LDAP for this system was to avoid m

5
0 379
Question Scott Roth · Mar 23, 2021

A while back I asked the developer community for a way to loop through repeatable HL7 segments and check them against a Data Lookup table within a Business Rule.

The example I got was the following...

ClassMethod GroupIDExists(pHL7Msg As EnsLib.HL7.Message, pSegment As %String, pField As %String, pLookupTable As %String) As %Boolean
{
            #dim tSeg as EnsLib.HL7.Segment
            set tSegCount = pHL7Msg.SegCountGet()
            set i = 1
            Set tFound = 0
            //get new values
            set tval=""
            while ((i <= tSegCount) && (tval="")) {
    
1
0 767
Question Josefien Janssen · Mar 23, 2021

Cache ODBC State S1000 Native Code 400 Illegal Value

This is my query:

select  DateTijdSec from 
 GLPPatTcActie 
 where pnr = '27085070017' and LTestId->Makey='BLA' and VerzamelDatTijd < '2021-03-04-2021 09:04' and glpactieid->makey in ('TAV','TMA') order by DateTijdSec desc

Most likely there is a wrong date time in the table, how can i get the data?

8
0 1223
Question Fábio Campos · Mar 18, 2021

PORTUGUESE

Olá a todos!

Estou com dificuldades de fazer meu select para retornar palavras que contém acentos.

Na minha tabela TESTE, por exemplo, tenho palavras no campo NOME como Fábio e Fabio, porém se eu coloco a instrução:

SELECT * FROM TESTE
WHERE nome LIKE 'FÁBIO'

a instrução só traz FÁBIO.

Como eu faço para trazer todas as palavras: FÁBIO, FABIO, FABÍO, FABIÓ, FÁBÍÓ, FÂBIO, etc...

Conto com sua ajuda!

ENGLISH

Hello everyone!

I'm having trouble making my select to return words that contain accents.

In my TEST table, for example, I have words in the NAME field like Fábi
9
0 2582
InterSystems Official Pete Greskoff · Mar 23, 2021

March 23, 2021 – Alert: Potential Data Integrity Issue with Mirror Dejournaling

InterSystems has corrected a defect that can cause data inconsistency issues on non-primary mirror members in extremely rare circumstances. This defect affects all released versions of InterSystems products.

If the defect occurs, it happens silently during normal operation on a mirrored system. The result of this defect is that a mirror member fails to dejournal a subset of journal records, which then leads to data inconsistency across mirror members. This affects both failover and async members. Although this defe

0
0 394
Question José Hélington Pires da Cruz · Mar 20, 2021

Hi, I have a class that extend to other classes.

If I compile one of this classes, no problem is generated.

But if I try to compile the first class using flag c-ukb, all that extend from that and have the Date component generate an error.

The error is about the method %GetPaneContents from abstract class.

Do you already passed this? How can I solve my problem?

2
0 294