#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question Kevin McGinn · Sep 24, 2021

I have a terminal script that queries sys.process' and then parses the results writing to a logfile. As part of the processing of the results, each row of the result set includes an element from the static string.  But I am not clear on the scoping of the static string. The write statement sees the static string as undefined. What I want is something to the affect:

     set statStr = "aa|bb|.."

   set sqlStatement = xxx

   set tState  = ##class(%SQL.Statement).%New()

   set qStat   = tState.%Prepare(< sql statement> )

   set rset    = tState.%Execute()

  WHILE rset.

2
0 296
Question Kurro Lopez · Sep 23, 2021

Hi community,

I have a SOAP Client class that connect to a WS Service. This structure and configuration is the same for some providers that are integrated with my solution.

If I call to a provider, it returns the XML expected. But there is a provider that raises an error:

ERROR #6243: HTTP request to SOAP WebService returned response with unexpected CONTENT-TYPE: application/wsdl+xml

I've tried to set the ContentType to the adapter.%Client with this value, but it doesn't work.

3
0 461
Article Laurel James (GJS) · Sep 23, 2021 1m read

The latest release of Serenji by George James Software introduces zero configuration debugging, so it's ready to go in just one click - no matter where you are or what you're doing, your on-the-spot debugger is ready to go. 

We have introduced a host of new features to enhance the debugging experience so you can focus on identifying and fixing errors, without losing focus by spending time setting up a launch configuration. 

Check out the new features in our release notes

If you've already started using Serenji 3.2.0 let us know how you're getting on! 

0
2 293
Question Adel Elsayed · Sep 22, 2021

i noticed -by reading .INT files of one class- that some of embedded sql select statements code blocks translates into code that uses lock command.

even if i use %nolock in the select, still cursors and arrow referencing notations "->" have the same results.

4
0 364
Question Kevin McGinn · Sep 21, 2021

I am writing a report for a client that will create a report of the current process with a format that mimicks the Management Portal process display. I am writing a cterm script file to generate the report.

In the loop that process the results I am writing the columns in a formatted manner that will result in a CSV format very similar in content and order the process page. However, it appears that the write statement is limited in size such that I can not write out all of the elements of the sys.process query. My query result processing that works correctly is of this format:

send: WHILE rset.

4
0 283
Discussion Jack Huser · Jul 23, 2021

The goal is to construct a comma separated string, using a loop but the same way $listtostring(var,",") would do (i.e. "a,b,c,d,e,f,g,h" without starting or ending comma).

What is the best way to do it, concerning the readability of the code and its performances?

To do so, there are more than 5 methods, but in this example we will test 4 :

1) using a "if" in the loop

set str=""

2) using a set

(str,...str

3) using a $list construction and transform to string with $listtostring

...
9
1 597
Question Davidson Espindola · Sep 15, 2021

Hello everyone
I use cache script, I would like to know from you if there is any function or class in the cache where I can get the start and end date of a given month:
Example: What is the first and last day of the month of February 2015.

Grateful.
Davidson

9
1 689
Question Con Skordis · Aug 9, 2021

Dear Developers,

I have a complex ZEN PDF report that has multiple tables that essentially are the same but are populated by different global definitions. The code has hardcoded groups for these tables but I would like the number of tables to be variable as many as there are global levels for a particular report.

Is there any way that I could build a report from a variable source of data rather that hardcoding 10 or more exact sections like the code below ? 

The code below is for table 2 in my report

<container ifexpression="%report.TestProfileFlag(2)=1">
<pagebreak ifexpression="%report.

1
0 359
Question Gregory Williams · Sep 13, 2021

Interesting issue we found. When making an ODBC connection from a host via RDP, the IP address shown as making the connection is the client IP address, not the host from where the connection initiated. Has anyone seen that or know how to get around it? 

Example:

My Computer(10.X.X.112) -> RDP to Host1(10.X.X.93) -> ODBC connection to Server1(10.X.X.12). Cache Portal -> System -> License Usage -> Usage by User shows My Computer's IP address as making the connection rather than Host1. 

This normally doesn't cause any issues.

2
0 293
Question JOSEPH MONEY · Sep 14, 2021

So I am working with an inherited SQL query that queries 8 different tables. 5 of which have over a million records. 
I have 3 different servers. 

Server 1, Server 2 and Server 3. They all have the same data/tables/structure across all servers. 
Server 3 has an Iris database engine and the other 2 are Cache 2015.1.4.
I have a problem with views and performance across the servers being inconsistent. 
Thankfully Server 1 is the current live server that performs "fast enough".
Server 2 is being synced from Server 1 and acts as a report server.

And Server 3 is supposedly a new Live server.

1
0 314
Question Michele De Chiffre · Sep 2, 2021

I'm trying to save a list of AccessTokens a user for a specific user. This way I could present it together with other user-data.

I have tried calling ##class(OAuth2.Server.AccessToken).OpenByCode(authCode) from %OAuth2.Server.Authenticate's AfterAuthenticate() method. This only returns things like State and AuthorizationCode, but the AccessToken is empty at this point (afterwards it becomes filled out).

Is there a way to achieve storing the AccessToken as part of the login system?

1
0 339
Article Murray Oldfield · May 22, 2018 9m read

This post provides useful links and an overview of best practice configuration for low latency storage IO by creating LVM Physical Extent (PE) stripes for database disks on InterSystems Data Platforms; InterSystems IRIS, Caché, and Ensemble.

Consistent low latency storage is key to getting the best database application performance. For applications running on Linux, Logical Volume Manager (LVM) is often used for database disks, for example, because of the ability to grow volumes and filesystems or create snapshots for online backups.

4
1 4967
Question Stuart Strickland · Sep 9, 2021

This function is supposed to tell me that argument 1 is a valid variable name or not.

Doesn't work with an array variable, eg W $ZNAME("WLCOM(I)",0).

Not a question, just a whinge really.....

3
0 305
Question Florian Hansmann · Sep 13, 2021

Hello Community,

we want to use a specific index on our sql-class.

The index we want to use is called "iFilter".
Currently we use the following technique of ignoring all other indices because the automatically chosen index is always too slow. 

SELECT TOP 100 d0.ID FROM %IGNOREINDEX Belegindex %IGNOREINDEX KundenNrGlobalindex %IGNOREINDEX Rechnungsnummerindex %IGNOREINDEX Erfassungsartindex %IGNOREINDEX Belegsuche %IGNOREINDEX DatumAuftragindex %IGNOREINDEX OnlineBestellnummerindex %IGNOREINDEX Belegnummerindex %IGNOREINDEX KundenNrGlobalindex %IGNOREINDEX VAMindex %IGNOREINDEX BelegnummerbeiLagerLagerBestellungIndex %IGNOREINDEX iStatusSolr db.BelegeKopf AS d0 WHERE (((d0.KundenNr = 'BUKR01')) AND d0.ErfassungsartBez IN ('AB', 'AN') AND d0.DatumAuftrag >= '2020')
3
1 460
Question Con Skordis · Sep 3, 2021

I'm using FOP 1.1 for ZEN reports and would like to install fonts within the Windows/Fonts directory.

I added the xml tags in fop.xconf but so far I have been unable to get the correct font.

<renderers>
    <renderer mime="application/pdf">

 <fonts>
        <directory>c:\windows\fonts</directory>
        <!-- automatically detect operating system installed fonts -->
         <auto-detect/>
       </fonts>

Any advice would be appreciated.

5
0 672
Question Kevin McGinn · Sep 9, 2021

I am trying to get a list of databases using the DatabaseByServer method but I am only getting an empty string. I have not found any useful examples of the proper usage of this class/method.

I have tried 2 formats. First

set dbList=""

set db=##class(Config.Databases).DatabasesByServer("my-host",.dbList)

I also tried:

set db=##class(Config.Databases).DatabasesByServer("my-host",.dbList,"/cachesys/")

In each case dbList is empty string. I can not figure out what I am missing.

2
0 191
Question Virat Sharma · Sep 5, 2021

Hello everyone, 

I am new to cache. I want to know is there any direct command to know how to find maximum number of subscripts in global A through direct command.

I mean the answer is 9 but how to check it using a direct command on terminal.

Thanks in advance!!

^A(1)="A"

^A(1,2)="B"

^A(2,1)="CVB"

^A(3,2,7)="'DFGH"

^A(4,1,8,9)="ASDASD"

^A(5,1,2,4,5,6,7,8,9)="ASDASDASD"

3
0 362
Question Aaron Smith · Aug 12, 2020

Is there an InterSystems supported dotnet core library or community contributed repo on the horizon?  At this time we are exploring installing the ODBC driver in our containers but would rather use more robust solution.

15
0 1467
Question Virat Sharma · Sep 5, 2021

Hello everyone

I am new to cache. In an interview i was asked how to optimize a sql query.

I just said I will create index on conditions which are present in where clause. But as per interviewer I should check How query plan is getting executed. This will help in optimizing Sql queries. 

I want to know what will be the answer for how to optimize SQL query in cache. 

Thanks in advance!!

2
0 334
Question Virat Sharma · Sep 5, 2021

Hello Everyone

I am new to cache. I know there are 2 types of methods in cache. One is Instance method (Which can be call through object creation of particular class) and other is Class methods (which can be call through ##Class(MyPackage.Car).CarModels()). 

I want to know the difference when to create a instance method vs when to create a class methods.

Thanks in advance!!.

3
0 331
Article Dmitry Maslennikov · Jul 13, 2019 6m read

I wanted to write it as a comment to article of @Evgeny Shvarov . But it happens to be so long, so, decided to post it separately.

Image result for docker clean all images

I would like to add a bit of clarification about how docker uses disk space and how to clean it.  I use macOS, so, everything below, is mostly for macOS, but docker commands suit any platform.

6
3 7348
Question Augusto Estefan · Sep 1, 2021

Hello, 

The database is increasing a lot (almost a 1TB) and getting bigger with no sense after migration, the use of the plataform did not increase after the migration so is strange for us this increase.

how can I check everything is ok in the database? for example any table getting bigger.

Before the migration the logs were like:

07/22/21-17:18:26:304 (19701) 0 Starting Expansion for database /opt/Intersystems/HS/HS_201521705/mgr/cachetemp/. 276 MB requested.

07/22/21-17:18:26:373 (19701) 0 Expansion completed for database /opt/Intersystems/HS/HS_201521705/mgr/cachetemp/. Expanded by 276 MB.

7
0 725
Question JR Shuey · Sep 2, 2021

Could you help me please. I am a VistA Application Administrator for the State of Tennessee and I have been using your web site: https://www.bmirwin.com/vnode/dictionary/index.php to write reports for the Health Departments in my state and I see it was shut down on 9/1/21. It was such a great site and I found it very easy to use. Is there a replacement site where I can get that information. It was so well formatted.

 

Thank you,

J.R. Shuey

1
0 261
Question Eamonn Fox · Sep 1, 2021

How do I programatically query a task set up in the task manager? I need to know the code being executed.

Thanks

2
0 266