#Caché

1 Follower · 4.5K Posts

  

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

Documentation.

Announcement Athanassios Hatzis · Jan 2, 2018

Connected Data London Conference

TRIADB is an emerging unique and valuable technology in NoSQL database modelling and BI analytics. The following video is from a presentation and demonstration of TRIADB prototype implemented on top of Intersystems Cache database and driven with a CLI in Python (Jupyter-Pandas). In fact this is the second time in the past year that a prototype based on this technology is implemented and demonstrated. The first one was built on top of OrientDB multi-model database and driven by a Mathematica notebook.

0
0 913
Question Lucas Fernandes · Dec 18, 2017

Hi,

Can I get "Window Size" from terminal? By command line.

Terminal > Edit > Window Size

I already tried to use 'do CURRENT^%IS', but without success. It does not return the change, for example, when the column is 132.

Is there any routine or method for this?

6
0 996
Article David Loveluck · Dec 15, 2017 9m read

practical guide to using the tools PERFMON and MONLBL.

Introduction

When investigating performance problems, I often use the utilities ^PERFMON and ^%SYS.MONLBL to identify exactly where in the application pieces of code are taking a long time to execute. In this short paper I will describe an approach that first uses ^PERFMON to identify the busiest routines and then uses ^%SYS.MONLBL to analyze those routines in detail to show which lines are the most expensive.

6
1 1219
Question Kishan Ravindran · Dec 26, 2017

What is difference between using a command $classmethod rather than just invoking them straight away?

For example if i need to call a class and its method i can just use like

do ##class(circle).radius()

rather than using

do $classmethod("circle",radius)

(I suppose both of them doing the same function i am not aware of it)

Please help me understand what is different and is there any specific usage.

Correct me if i have made mistake.

7
0 485
Question Milena Donato · Dec 27, 2017

Hi everyone

How can I connect using the Terminal to a remote server?

I changed the server indication on the Healthshare icon on the Windows toolbar.

The management portal works but not the Terminal. When I open the terminal it displays only some information about the server ("SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2"), but it doesn't give the possibility to log in.

Do you have any suggestions how I could fix it?

Thanks a lot and best regards

Milena

5
0 1312
Question Soufiane Amroun · Dec 26, 2017

Hi community ,

i worked this last time on the access token generate method , now it's ok, i want  use the received access token to have access for asking the resources server.

i found the [%SYS.OAuth2.AccessToken] class which describes how add access token in the http request header , but i don't know how use it in my project.

Do me take only this class or the full package %SYS.OAuth2.

Thank you for helping .

1
0 535
InterSystems Official Steve Brunner · Dec 26, 2017

InterSystems is pleased to announce the availability of these maintenance releases:

·       Caché and Ensemble 2017.2.1

·       HealthShare Health Connect v15.03 for 2017.2.1

 

Caché and Ensemble 2017.2.1 details:

·       Platforms are the same as for 2017.2.0, with the addition of:

o   Oracle Solaris 10, 11 for SPARC-64

o   Oracle Solaris 10, 11 for x86-64

·       The version number of the kits for these releases is 2017.2.1.801.0

·       The full list of corrections can be found in the release notes

 

HealthShare Health Connect v15.03 on core technology 2017.2.1.801.0:

0
0 785
Question Eduard Lebedyuk · Dec 25, 2017

Let's say I have Macro.Parent class:

Include Parent
Class Macro.Parent
{

ClassMethod Test()
{
    write "Class: " _ $classname() _ $c(10,13) _ "Value: " _ $$$name
}

}

which references Parent.inc macro name:

#define name "Parent"

Now, I want in my subclass Macro.Child to have Test method with the same code, but to redefine value of name macro.

6
0 420
Article Jenna Makin · May 26, 2016 2m read

With the release of Cache 2016.1, JSON support was re-architected and made part of the core object model with the creation of %Object and %Array classes, which allow you to create dynamic JSON enabled objects and arrays.

On a recent demonstration I was working on, I had the need to create a REST web service that returned a JSON representation of a persistent object.  After searching for methods that would allow me to accomplish this, ultimately I found none, until now.

20
0 2993
Question Jose Sabike Raja · Dec 15, 2017

In if condition what is the difference between specifying the single operator and double operator? For example, what is the  difference between (&& and &) or (|| and !)

9
0 825
Article Jon Willeke · Sep 20, 2016 3m read

In OS X 10.8 and earlier, PHP was built with ODBC support, making it easy to connect to a Caché database:

$ php -r 'phpinfo();' |grep 'ODBC Support'
ODBC Support => enabled

However, this support was removed in OS X 10.9:

$ php -r 'phpinfo();' |grep 'ODBC Support'

Some people use Homebrew, MacPorts, or Fink to get their tools back. If you're comfortable coloring a little outside the lines (i.e., using sudo and the command line), you can build the odbc.so or pdo_odbc.so extension (depending on which API you prefer), and use it with Apple's version of Apache and PHP. You'll need the following:

1
0 2676
Question Thembelani Mlalazi · Dec 20, 2017

I am trying to read an xml document using %XML.TextReader and that's is all well and l can get my elements values  but would like to determine where the next record start on the xml without referring to the document path in essence would like to use the same method to read different xml docs. I would like to know if is there a way or a function that I can use to get the start and end of a record in xml  as I would to get the start and end element.

Typical example  l would like to get the highlighted paths please note this would need to go for any xml doc

6
0 866
Question Rick Clayton · Dec 17, 2017

I am trying to install cache 2017.2 on vagrant/VirtualBox and Ubuntu. I have tried both Linux precise64 3.2.0-23-generic #36-Ubuntu and Linux vagrant-ubuntu-trusty-64 3.13.0-137-generic #186-Ubuntu. I am getting an error that i can’t figure out. I have done this:

sudo apt-get install build-essential
sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get install libstdc++6
sudo apt-get install gcc-4.9 g++-4.9
sudo apt-get update
sudo apt-get upgrade
2
0 804
Question Arto Alatalo · Dec 14, 2017

Today %SYS.Namespace.ListAll started to report one namespace, for example USER, two times: once as "USER" and once as USER's database "^^c:\databases\user".

Details: my Cache instance has  50+ local namespaces. Today I have "touched" 3 of them (imported new classes), and now ListAll reports each of these 3 twice. Looks like ListAll is the only one who sees those strange duplicates, in all other places (Portal, Studio) only USER is shown.

Can someone explain what is happening?

9
0 390
Question Jenna Makin · Jun 1, 2016

I would like to write some code to parse a set of HTML pages from the internet in order to gather information from each web page.

All of the web pages are generated using a template, so the format of each of the web-pages is consistent with one-another and the information that I want to gather is always located in the same logical place within the page.

What is the best way to parse an html page in order to gather information at a specific place?

Can XML XPATH be used here?  Does anyone have any examples of parsing HTML content?

6
0 1685
Question Martin Karas · Dec 2, 2017

Hello everyone,

i want an automatic unidirectional syncronization of multiple databases (some tables from .dat file, not the whole .dat file) . 

So far i have tried everything from package %SYNC and the best working class is SyncSet with journals and guids. The problem is initial database transport for example when i want to add another server.  The easiest solution i have found is to transport syncing globals ^OBJ.SYNC.N to another database and then call %SYNC.SyncSet.Import(), however it seems not to work with only the global structure, although it works fine using import files.

7
1 966
Question Soufiane Amroun · Dec 5, 2017

Hi community ,

i come back to you , i've a problem with Client description in Oauth2, when i tick the  Supported grant types and i save , there are not registred on the OAuth2_Client.Metadata table .

can you tell me where is the problem please.

you will find attached a screenshot.

thank's

2
0 582
Question Sankar Manogaran · Dec 13, 2017

HI,

We are using Cache 5.0.15 version. We are facing <DISKHARD> error. I tried to copy the dat file, I am getting cyclic redudancy error. I did run the integrity check and repair utility . Nothing works. Now My question is how to recover the dat file with data.

Thanks in Advance! Sankar

1
0 171
Question Sébastien Demoustiez · Nov 21, 2017

Hello Community,

I recently encountered a issue with Caché and I can't figure out where the problem is coming from.

I noticed that the license limit (200)  was reached whenever I was opening my Studio (so it seems). When this occurs, I restart Caché (with the Cube in the Taskbar), and the number of license used is back to 1%, but grows back after.  The time taken before the number of license  grows back again looks pretty random.

Here is a couple of screenshots :

Does anybody know where the problem might come from ?

7
0 1948
Article Eduard Lebedyuk · Dec 7, 2017 3m read

In this article I'd like to discuss asynchronous REST and approaches to implementing it.

Why do we need asynchronous REST? Simply put - answering the request takes too much time. While most requests usually can be satisfied immediately, some can't. The reasons are varied:

  • You need to perform time-consuming calculations
  • Performing action actually takes time (for example container creation)
  • etc.

The solution to these problems is asynchronous REST. Asynchronous REST works by separating request and real response. Here's an example, let's consider the following simple async REST broker:

9
0 1843