#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

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 351
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 279
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 304
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 334
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 4951
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 296
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.
3
1 447
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 655
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 176
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 354
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 1454
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 325
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 317
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 7301
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 716
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 254
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 260
Question Kevin McGinn · Aug 31, 2021

I have a client running cache on an AIX platform. I put together a objectscript to allow for the viewing the processes running against the database using a select from SYS.Process. One of the values I want in the view of the processes information is Jobtype but I want to convert it from the numeric value to a string value. In the Intersystems documentation there is a reference to an include file $syPidTab.inc that should include macros that make this translation. I have not been able to track down this include file.

2
0 239
Question Stella Ticker · Nov 7, 2017

There is  a finite list of date formats that users want to use to enter a date in a form. These formats include single digits for month and day and double digits for year.  The field is represented by a dateText control.

How would one get to allow a dateText control to accept multiple date formats ? I see only 3 listed here, do those include using single digits for month and day ?

I tried to set the value of format = "#(myPageProperty.myValue)# " but I got a compilation error in Studio so that went nowhere. Has anyone ever been able to set the format value depending on the user input value?

1
0 544
Question Norman W. Freeman · Aug 27, 2021

In Caché, it's possible to iterate a local array using $QUERY() :

set a("foo") = 50
set a("bar") = 30

set key = "a"
for
{
     set key = $QUERY(@key)
     quit:key="" 
     write key_" = "_@key
}

This code works perfectly, unless it's called in a job (eg: a routine called by the JOB command).

In that case, $QUERY will return an empty string. It's like the array cannot be referenced anymore by simply using it's name.
It works using $ORDER(a("")) but I would like to use $QUERY if possible (because my array has several dimensions and it would require several for loops).

3
1 475
Question Syed M · Aug 27, 2021

Hi

   We have an application that is logged using AWS SSO.
   We are passing username and password from the AWS SSO to our application for validating the user.
   But what we need is, we need to login to application without using the password.
   Is there any possible way available for this?

Thanks,
Syed M

1
0 352
Job Leanne Taylor · Aug 26, 2021

Our client is a UK-based company with subsidiary operations in the USA, France, Germany and China. The Company supplies materials which are used for research, development, and specialised manufacturing applications worldwide. The Business Intelligence department is a small but integral part of the company. The department provides support to the wider business through information systems. We are currently seeking a Business Intelligence Caché Specialist that will be responsible for supporting and developing the existing Caché system, which is used widely within the business.

4
0 730
Question Davidson Faria · Jul 22, 2021

Can someone tell me why this query 

select vet.ID, svp.ID_PACIENTE, vet.conselho, vet.uf, vet.numConselho, vet.nome, svp.SEQ_SOLICITANTE, vet.numConselho , vlab.numConselho
from RPE.Veterinario vet
inner join RPE.VeterinarioLab vlab
    ON vet.conselho = vlab.conselho
    AND vet.numConselho = vlab.numConselho
    AND vet.uf = vlab.uf
left join MySevi.SolicitanteVeterinarioPaciente svp
    on svp.ID_VETERINARIO = vet.ID
where svp.ID_PACIENTE in ('6408||284144||47633', '6408||284145||47634')

does't return any value and this query

select vet.ID, svp.ID_PACIENTE, vet.conselho, vet.uf, vet.
4
0 298
Question James Casazza · Aug 23, 2021

After linking in Oracle Table with Field Column's Data Types of NUMBER, my updates into these table fields are resulting in data that is being rounded to 2 decimal places. I insert a record with 1234.1234 and 1234.12 is stored.

It appears Cache xDBC might be manipulating my values prior to sending to Oracle. Is there a setting or system parameter that is controlling this? If so, is there a way to relax this from occurring so the values I send are being stored in Oracle with the same values?

10
0 845