#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Question Lucas Fernandes · Jun 6, 2019

I have a FullBackup.cbk file generated by Caché Backup Online.This file has many databases.
Is there a Caché feature to restore only one database?
I've tried EXTSELCT^DBREST(), but this routine runs through all databases
(skipping the unselected).This process becomes slow, lasting 1 day to finalize the process.

1
0 669
Question Alex Kogan · Jun 4, 2019

Hello,

I assume there is a simple explanation for this, but I do get <OBJECT DISPATCH> error, when I am trying to set a global to a value.

My example is huge, but I reproduced it using Samples namespace:  

First I delete the Title from ##class(Cinema.Film)  - 3 

Secondly:

SAMPLES>s ref=##class(Cinema.Film).%OpenId(3)
SAMPLES>w ref.Title

SAMPLES>set ^AK(1)=$G(ref.Title)

SET ^AK(1)=$G(ref.Title)
^
<OBJECT DISPATCH> *Property 'Title' in class 'Cinema.Film' must be MultiDimensional

$D also does not work, same error, however this works fine: if ref.Title S ^AK(1)=ref.Title

4
0 1081
InterSystems Official RB Omo · Jun 6, 2019

InterSystems has corrected a defect that can result in application data integrity issues following an abnormal shutdown.

This problem exists for:

  • Caché and Ensemble 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core version 2018.1.2
  • InterSystems IRIS Data Platform 2019.1
  • InterSystems IRIS for Health 2019.1
  • HealthShare Health Connect 2019.1

The defect breaks the journal sync guarantee that all updates in the journal buffer have been written to the journal file. The failure is silent: it does not generate an error message and there is no entry about it in any log file.

0
0 576
Question Jimmy Christian · May 31, 2019

Hello all,

I have a Recordset object  which contains data from a table "XYZ". 

Currently i use this object to extract data using  %Get(COL1,COL2...) in a loop and than pass it to a function which inserts the data into another dynamically created  Table "ABC"  for each record. This takes a lot of time when 100's of records.

Is there a way i can directly copy a RecordSet to a dynamic table without looping through..?

Something like copy Recordset (COL1,COL2..)--> "ABC"

Thanks,

Jimmy

6
0 1003
Question Thembelani Mlalazi · Jun 3, 2019

Say I have a property in  a persistent class that stores list of colours and I would like to query that field and return  a list and be able to loop that list to get individual colours how will l go about achieving this I have tried something like this but its not working as expected

 &sql(SELECT colour INTO :colourList FROM favouritecolours)
 While (SQLCODE = 0) 
{
 for i=1:1:$LENGTH($P(colourList,","))
 {
 set fvalue=$P(colourList,",",i) 
write "the first"_fvalue,i, 
} 
}

 

the query returns colours but its just a string no delimiter eg;

green red blue

 

I have tried with

1
0 590
Question Muhammad Awan · Apr 5, 2019

Greetings,

Is there any default exception handling feature available in Zen report? I am working on a report that comprises of several different composites report (%ZEN.Report.Display.composite). I am incorporating several composites into the main Zen report, If any composite fails or encounters an issue such as issue with the sql statement or class method which i am using to fetch the data, the report (pdf) fails and shows a Zen error. It is very hard to find an exact composite or code that causes the error as Zen report displaying a generic Zen Error without any details.

3
0 707
Question Krishnamuthu Venkatachalam · May 30, 2019

Hi All,

I have a REST dispatcher class in which I enabled the Parameter HandleCorsRequest = 1;

I can able to access the API using Postman, but not with my web application. It throws the below error.

Access to XMLHttpRequest at 'https://ec2-10-200-XXX-X.com/REST/MRM/get/Message?MessageCode=ERR0006&L…' from origin 'https://ec2-80-106-XX-XXX..com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

2
0 1867
Question Robert Foster · May 27, 2019

Hi all, 

I am trying to create multiple tasks all in a single task. 

For instance MyApp has three tasks.

One to send a email if a limit is exceeded = MyApp-check-credits

One to purge files = MyApp-purge

One to auto delete files = MyApp-Del 

I would love to get all tasks MyApp-check-credits, MyApp-purge, MyApp-Del into a single parent task called MyApp-AllTasks.

Is there anyone that could give me guidance of how to complete this it would be much appreciated. 

3
0 437
Question Tarek Sinno · May 29, 2019

We are currently trying to implement TortoiseGIT into Cache Studio as per the following Github project

https://github.com/intersystems-ru/cache-tort-git

Our architecture is as follows:

- A server with Ensemble installed on

- Team of several members connect to the server and perform their code build

TortoiseGIT was installed on the server, however, should the REPO location be:

- on the server itself (as a shared path)? 

- locally on every developer station? If yes, how would this be set up?

5
0 527
Question Vinay Purohit · May 24, 2019

Hello,

I want to search a process ID in Object Script using the reference variable e.g. 1119102928 and kill that process ID. Please guide how it can be achieved.

Thanks in advance.

Vinay Purohit

6
0 578
Article Andreas Schneider · Feb 22, 2017 2m read

I' have done some tests with Caché and Apache Zeppelin. I want to share my experince to use both systems together. I'll try to describe all steps that are required to config Zeppelin to connect to Caché.
 

What is  Apache Zeppelin?

For all who think: What the heck is Apache Zeppelin?, here some details what the project site (http://zeppelin.apache.org) says:

6
0 1517
Article Sergey Kamenev · Jul 7, 2017 7m read

In the previous parts (1, 2) we talked about globals as trees. In this article, we will look at them as sparse arrays.

A sparse array - is a type of array where most values assume an identical value.

In practice, you will often see sparse arrays so huge that there is no point in occupying memory with identical elements. Therefore, it makes sense to organize sparse arrays in such a way that memory is not wasted on storing duplicate values.

In some programming languages, sparse arrays are part of the language - for example, in J, MATLAB. In other languages, there are special libraries that let you use them. For C++, those would be Eigen and the like.

Globals are good candidates for implementing sparse arrays for the following reasons:

3
1 1582
Question Michael Braukmüller · May 22, 2019

Hi everybody

I'm new in this forum and also new working with a Caché-Database.

Problem:
I have to delete records from a table (by SQL) which contains a field declared as:
Property Image As %Stream.FileBinary;

When I try to delete a record with an image I get an error
[%msg: <FEHLER #5019: Kann Datei 'H:\BK Solution\DSTBern\eXpert\Data\Expert\stream\YJC7o7ngR9WUeA.stream' nicht löschen>]
[SQLCODE: <-412>:<Allgemeiner Stream-Fehler >] 

because the physical file doesn't exist (for any reason) but the database want's to delete this file.

1
0 452
Question WHAT THE · May 20, 2019

Hi everyone,

Im new  in cache, i came from Java and im missing some features that i couldn't find in the documentation,  I hope you can help me with this questions.

Just a brief introducction: 

- Im in a project with old cache version, so saddly i can't use Eclipse + Atelier, so im using Studio.

- Currently im in a project with persistent classes, we want to turn apart the globals and focus on tables. 

The questions:

5
0 492
Question Stas Rabkin · May 19, 2019

Hi,

recentley we started to work with Atelier & VSTS in our organization .

we are looking for a way to use the VSTS as Our Version/Source control system .

I have read the article about "Continuous Delivery of your InterSystems solution using GitLab" & now trying to find a way to use a similar metodology with the VSTS that we have in our organization.

It Apeares that it is possible to Create a Git Repository in the VSTS but i'm not sure how are we to use it from the atelier.

The main questions are:

4
0 656
Question Neerav Verma · May 10, 2019

In our table, we have a column cities,  which has a filter which displays the cities of a state depending on the state

For simplicity let's assume we have a page

Property State As %String =  "CA"

Our filter should run this query to show all cities of state ca

"SELECT Name FROM City WHERE State= "_%page.State

<tablePane>

<column colName="City"
filterQuery="SELECT Name FROM City WHERE State= <This is where I am stuck>"
filterType="query"
header="City" 
width="10%">
</column>

I am not able to pass any parameter to filterQuery. 

9
0 548
Question Jimmy Christian · May 14, 2019

Hello,

Need some technique to solve an issue about zen page table.

- "xyz" table exists in all my namespaces.

I have a simple Zen page  in "USER 1" namespace. It has a tablepane which pulls data from "xyz" table.

OnLoad of the page i want the  zenpage to pull the data from "USER 2" namespace with same "xyz" table name.

Zenpage has to be in  "USER 1" namespace

I tried to use the server side callback handler %OnAfterCreatePage()  and do a ZNSPACE "USER 2" but still it is not doing the job of pulling data from another namespace.

Any suggestions will be appreciated.

Thanks,

Jimmy Christian.

10
3 394
Question w s · May 1, 2019

here is my trigger:

CREATE TRIGGER "SQLUser".SYM_ON_U_FOR_SYM_CHNNL_125123 AFTER 
UPDATE
   ON "SQLUser"."sym_channel" REFERENCING OLD ROW AS OLD NEW ROW AS NEW FOR EACH ROW 
   DECLARE @var_row_data VARCHAR(16336);
WHEN
   (
      1 = 1 
      and 1 = 1
   )
   -- I will use OLD/NEW alias here set @var_row_data = ''; LANGUAGE sql insert into mytable (id, data) values(1, @var_row_data);

here is error message:

1
0 312
Question Cole Risch · Apr 10, 2019

First, my $ZVERSION:

Cache for OpenVMS/ALPHA V7.x (Alpha) 2010.1.6 (Build 952_2 + Adhoc 17754) 3-JAN-2018 14:32:54.07

Second, my issue:

I believe my current villain is “incremental compiling.” I was able to compare early compile output with later compile output:

Compilation started on 04/10/2019 10:46:32 with qualifiers 'cuk' Compiling class UnitTests.Task3496 incremental compile detected Compiling routine UnitTests.Task3496.2 Compilation finished successfully in 0.800s.

... several compiles later...

3
0 492
Question Mads Lien · May 8, 2019

Hi

I am working with a Caché system with a Python binding and big datasets in health care. I am using the Python library Pandas and Jupyter notebook for data manipulation and often special modules for different projects, including different versions of Python. To keep the environments separated, I have been testing Docker, but I am at loss on how to install the Python binding. Has anyone any experience with this? Or better yet, a Docker image that has the binding installed?

I am also considering that Docker might not be the suitable for this situation and I am grateful for any thoughts on this.

6
0 731
Article Kyle Baxter · Sep 9, 2016 5m read

Have some free text fields in your application that you wish you could search efficiently?  Tried using some methods before but found out that they just cannot match the performance needs of your customers?  Do I have one weird trick that will solve all your problems?  Don’t you already know!?  All I do is bring great solutions to your performance pitfalls!

As usual, if you want the TL;DR (too long; didn’t read) version, skip to the end.  Just know you are hurting my feelings.

11
2 2826
Question David Crawford · May 7, 2019

Hi! I've been fiddling with linked tables to get data from other servers, and I encountered a problem that I'm curious about. Maybe I'm not using these tools as intended or there's more going on, so I'm asking here.

I'm running a query on linked table A, something simple like this:

select name from A where id = 5983658923646

And I get this error:

[SQLCODE: <-400>:<Fatal error occurred>]

  [%msg: <>]

If id, or anything comparison, is something smaller like 4345, it works just fine. It's only when the where reaches a certain length, not just id, that it fails.

6
0 675