#Caché

1 Follower · 4.5K Posts

  

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

Documentation.

Question John Kumpf · Apr 12, 2019

Referencing this post:

https://community.intersystems.com/post/producing-json-sql

I'm not sure how to actually interact with the result set I get from doing something like this.  I want to return something like:

[{"field1":1, "field2":2}, {"field1":2, "field2":10}]

I'm finding it very difficult to get it in this format, since %Print appends a newline onto the end of the {} object it prints.

Here's the closest I've gotten:

set query = "select JSON_OBJECT('field1': field1, 'field2":field2) from MyTable where x=? and y=?"

5
3 1443
Announcement Evgeny Shvarov · Jun 9, 2019

Hi Community!

I have very good news for the developers, who are using GitHub to host projects with InterSystems ObjectScript.  GitHub introduced the support of InterSystems ObjectScript this week!

How does it work?

Now all the .cls files in your repository are considered as InterSystems ObjectScript and highlighted according to the language rules of ObjectScript. For example WebTerminal, Samples-Data.

7
1 1095
Question Paul Riker · Jun 6, 2019

I have a custom process that is parsing HL7 and inserting it into a table. Periodically the inserts fail with # due to error: ERROR #5803: Failed to acquire exclusive lock on instance of.... 

Traditional databases would wait until the lock is removed then do the insert, but cache fails. I'm sure it's my coding approach.

How can I work around this? A Try/Catch loop?

Thanks in advance.

7
0 1067
Question reinhard lebensorger · Jun 3, 2019

hi, i am new to Studio and also new to objectscript, but i am not new to programming and

want to implement some synonymfunctions e.g.  LOCATE should be used as InStr (.. like in much languages ;o)

more generally spoken, i want to implement a library for my string routines BUT of course i want an need autocomplete.

defining a macro $$$InStr does no autocomplete  when i type $$$In<CTRL-SPACE>

example: my lib is called STRINGS and the functions are: InString, Split, ...

when i type STRINGS.       it should autocomplete

i also don't want to write  ##class(xxxxx.yyyyy).InString()   every time.

8
0 502
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 644
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 1031
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 560
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 979
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 573
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 667
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 1828
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 420
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 504
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 557
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 1471
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.

3
1 1524
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 431
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 467