#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Discussion Neerav Verma · Dec 19, 2019

HI,

I am planning to build a WebApp that will have tons of data to display in tables, ability to add comments on that table rows and may be some few more small features as we move on.

1. It has to be Secure

2. It has to be fast

3. It has to be Non CSP / Non Zen

4. Will have Cache DB to pull records from but should be flexible to do that from any odbc resource

5.

18
0 599
Question Ben Spead · Dec 21, 2019

Does anyone know of an API that will do a hostname look-up based on IP?  We could of course use call-out but the format of the results vary based on OS and if there is already an ObjectScript tool which will parse this then we'd rather use what is already available.

Thanks!
Ben

4
0 383
Question Vikram Annadurai · Dec 21, 2019

Hi All,

I trying to get the DisplayList data of the ValueLIst from Java using Springboot. when I try to get the DislayList data via java code but I'm getting the VALUELIST data. I don't get any idea to get that DisplayList data. Below is the example

Property PetName As %Integer(DISPLAYLIST = ",Cat,Dog,Dove,Parrot", VALUELIST = ",1,2,3,4");

Java Code:

public String PetName;

public List<Pet> getPet() {
        return ser.findAll();
    }

List<Pet> arrayList = getPet();
        for (Patient list : arrayList) {

                 String pet= list.getPet();

                 System.out.

4
0 740
Discussion Nikita Savchenko · Dec 12, 2019

Hello, InterSystems community!

Lately, you have probably heard of the new InterSystems Package Manager  - ZPM. If you're familiar with it or with such package managers as NPM, Dep, pip/PyPI, etc. or just know what is it all about -- this question is for you! The question I want to arise is actually a system design question, or, in other words, "how should ZPM implement it".

In short, ZPM (the new package manager) allows you to install packages/software to your InterSystems product in a very convenient, manageable way.

14
0 506
Article Eduard Lebedyuk · Sep 4, 2017 5m read

In the first article I started discussing RESTForms - REST API for your persistent classes. We talked about basic features, now, I'd like to discuss advanced features - mainly queries capabilites:

  • Basic queries
  • Query arguments
  • Custom queries

Queries

Queries allow getting slices of data, based on arbitrary criteria. There are two query types in RESTForms:

  • Basic queries work for all RESTForms classes once defined and they differ only by the field list
  • Custom queries work only for the classes in which they are specified and available, but the developer has full access to query text
2
2 1814
Article Timothy Leavitt · Dec 16, 2019 4m read

I've been having a blast with the Advent of Code puzzles this year - though I'll be heading into a busy span of time with family soon and will probably drop off toward the end. (At least, that's what always seems to happen - it's a good thing, though!)

I had a whole plane ride to play around with Day 13 and wanted to share some fun terminal tricks.

2
0 591
Question ARJUN NAGARAJ · Dec 16, 2019

Hi All,

I am getting error while opening the PDF report in cache 2017 instance, I am using this below piece of code to open PDF in browser.

                pdf=objResult.FormattedReport  // FormattedReport property is a %GlobalBinaryStream
                pdf.%Save()
                pdf.SetAttribute("ContentType","pdf")
                pdf.SetAttribute("Expires",0)
                pdf.SetAttribute("CONTENT","NO-CACHE")
                oid=pdf.%Oid()
                %session.Data("CacheStreamId")=oid
                StrOid=..Encrypt(oid)
               

3
0 378
Question James Woo · Dec 16, 2019

I configured a SQL inbound adapter to monitor my local Cache database.

But I got "ERROR <Ens>ErrOutConnectFailed: ODBC Connect failed for 'SAMPLES' /
'' with error ERROR #6022: Gateway failed: DSN/User Connect."

Same error if the DSN setting is blank or set to my namespace.

Question is whether SQL inbound adapter is for external database server ONLY?

3
0 382
Question Neerav Verma · Dec 12, 2019

Hello All,

We need to develop a small csp application which shows data in simple paginated / searchable table for business users. 

It is to be built on an old version of Cache and is not a big full fledged application but something temporary.  We can't use Zen and using  a combination of csp & Bootstrap as bootstrap makes the pages look beautiful with little effort.

I have built the table in boostrap and it works fine with pagination and search working perfectly 

The problem occurs only when we go above 500 records.

6
0 846
Article Peter Steiwer · Dec 16, 2019 3m read

In the previous part of this series, we saw how to define a basic portlet. Now we will look into making this portlet reference a web page that will enhance our dashboard experience.

In this example, we will be embedding a Developer Community article along side a couple of widgets displaying information related to the number of views on the Developer Community articles. This example is not hosted on the Community Analytics server, but if it was we could see the view counts going up as we interacted with the page.

Why use this?

In a real case, perhaps you have an embedded page from an external web site showing the current Emergency Room wait times for Hospitals in your area. This portlet can be used along side widgets from your Emergency Room showing how many people are waiting, how many doctors are active, and how many people are being treated. As other Emergency Room wait times grow, you can possibly expect your volume to increase as well. This can help you make decisions on how to allocate resources.

0
0 489
Question Ankita JAin · May 31, 2017

Hi ,

I am stuck with unit  test failure with intersystem . In case of unit test failure, the build in jenkins is succeding while the build in jenkins should fail in case unit test failure .

In cache programming i am using %UnitTest.Manager class and DebugRunTestCase method within it. I'm able to link studio with jenkins. I wanna fail my build in jenkins, if any of the test cases fails. Could anyone help?

14
0 1876
Question Rizmaan Marikar · Oct 13, 2019

Hi All,

I have a ZEN report, which gives a PDF output, i want to generate this report programmatically, save to a location in the disk. Here is my method so far

 ClassMethod GenerateReport(ReportID, ReportClass, P1, P2, P3, P4, P5, P6, P7, P8, P9, PUser, PUserID, PUserProfileID, mode = 2, ByRef outputfile = "") As %Status
{
set filename=""
set ZenClassName=$piece(ReportClass,".cls")
set oRpt=$classmethod(ZenClassName,"%New") 
set oRpt.RUID=##class(websys.Report).GetRUID(P1,P2,P3,P4,P5,P6,P7,P8,P9,PUser,PUserID,"",PUserProfileID)
set FileExt=.
3
0 948
Article Peter Steiwer · Dec 12, 2019 2m read

What is a portlet?

The simple answer is: a custom widget. A portlet can exist by itself on a DeepSee dashboard, it can be used along side standard DeepSee widgets, or along side other portlets. The rendering of the custom widget is completely user defined. This means you can embed a web page, create a form to perform any sort of action needed based on the data on your dashboard, use third party charting libraries, or simply display data from outside of a DeepSee cube.

How to get started

1
0 603
Question Jonas Zanon · Dec 12, 2019

Hello guys,

Is it possible to map a package as read only?

I know it is possible to mount the source database as read only and map the package in the target namespace. But I would like to make the mapping read only so that the package would be "read only" only in the target namespace.

This would avoid someone to forget to set the database read only again if a modification in the package is needed.

Thanks in advance.

Jonas Zanon

3
1 379
Question Kelly Blake · Dec 10, 2019

Our current file repository was on a linux server, but it has been having issues.  For this reason, we are moving the data to SharePoint online, since we already pay for the service.  It seems there is not an option to ftp/sftp files to/from the SharePoint Online server from our RedHat server (Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2015.2.3 (Build 855_0_17370))

How would I send and receive From the RedHat server to the SPO Server?

I'd love full example code, but any help pointing me in the right direction would be much appreciated.

3
0 3328
Article Pravin Barton · Mar 28, 2019 2m read

ObjectScript has at least three ways of handling errors (status codes, exceptions, SQLCODE, etc.). Most of the system code uses statuses but exceptions are easier to handle for a number of reasons. Working with legacy code you spend some time translating between the different techniques. I use these snippets a lot for reference. Hopefully they're useful to others as well.

///Status from SQLCODE:
set st = $$$ERROR($$$SQLError, SQLCODE, $g(%msg))  //embedded SQL
set st = $$$ERROR($$$SQLError, rs.%SQLCODE, $g(rs.%Message)) //dynamic SQL
///Exception from SQLCODE:
throw ##class(%Exception.
5
23 3979
Question Andre Wessels · Dec 5, 2019

Good day,

We upload images into the database with this code :

<tr>
<td align="right">FileName</td>
<td><input type=file size=200 name=FileStream></td>
</tr>

s FullFilename = %request.Get("FileName")
s FileName = ##class(%File).GetFilename(FullFilename)
s ItemImage.FileName = FileName

s ItemImage.fileSize = %request.MimeData("FileStream",1).Size
d ItemImage.Image.CopyFrom(%request.MimeData("FileStream",1))

The need is now to be able to copy a document (example as attached in an email) and paste to be saved into the  ItemImage.Image
%GlobalBinaryStream

Has anyone done something like this ?

Thanks

André

2
0 517
Question Sreeram Makam · Dec 4, 2019

I am generating the DDL from a modeling tool - ERStudio. But the DDL has 2 issues right now.

DROP TABLE schema_name. CASCADE CONSTRAINTS; The Constraints is not supported but works with the statement - DROP TABLE Study_Definition.EVENT_STORE CASCADE;

Second if there is no object to drop, it throws an error, so is there a check like in sql server If_Exists that we can use in CacheDB?

1
0 305
Question Abbad Minhas · Nov 28, 2019

I have the following class: 

Class temp.test7 [ Owner = {PHOENIXDBUSER} ]
{
ClassMethod GetTenAssets() As %Status [ ReturnResultsets, SqlProc ]
{
s sc=$$$OK s sql="SELECT TOP 10 * FROM Data_Assets.Asset" 
s sqlStatement=##class(%SQL.Statement).%New()
s sc=sqlStatement.%Prepare(sql) 
if $$$ISOK(sc) {
s result=sqlStatement.%Execute()
d %sqlcontext.AddResultSet(result)
s %sqlcontext.%SQLCODE=result.%SQLCODE
s %sqlcontext.%ROWCOUNT=result.%ROWCOUNT
s %sqlcontext.%Message=result.%Message
} 
else {
s %sqlcontext.%SQLCODE=-460,%sqlcontext.%Message=##class(%SYSTEM.Status).
11
0 1806
Question Michael Davidovich · Dec 3, 2019

I am writing an API that sends over a very large JSON object. 

The code I'm using to get the data is actually used in our production system today for the use of writing a report.

However when I call the code using the API (using SoapUI) I am getting 'Error getting response; java.net.SocketTimeoutException: Read timed out'

The web applications settings have a session timeout setting at 15 minutes, but this is timing out within just a few minutes, so I know it's not hitting this mark.

Has anyone experienced this issue with APIs?

3
0 432
Question Tom Van Oosterwyck · Dec 3, 2019

Hello,

I have a couple of IOT devices that communicate via WebSockets to our backend.

I successfully managed to create a websocket connection between server and (iot)client using %CSP.WebSocket
However I would like to implement authentication on this using the HTTP headers at the same time of Connection: Upgrade.

I tried to set the headers to globals in order to debug but they are always empty.

Example code: 

Method OnPreServer() As %Status
{
Try {
    s ^Header("HTTP_AUTHORIZATION")=%request.GetCgiEnv("HTTP_AUTHORIZATION")
    s ^Header("AUTHORIZATION")=%request.
1
0 348
Question Marcio Coelho · Dec 2, 2019

Hi all...

I am try to execute a class method from JDBC connection. My method are simple, just create a file at $HOME  like this:

set sc='$zf(-1,"touch $HOME/lixo.txt > /var/tmp/log666 2>&1")

I put a log file to this commnad because it's don't work, and in log file i get this:

8
0 367
Question Dan Crouthamel · Nov 18, 2019

Has the Cache install been replaced with IRIS? Sorry if this is a silly question. I remember downloading Cache before and using Cache studio. I can't seem to find a download for that anymore, just IRIS? I did grab that and I'm able to connect Studio to what I need.

If there is still a Cache download, where can I find it?

Thanks!

4
0 942
Question Bálint KONCZ · Dec 2, 2019

Hello Community,

I would like to work in SQL developer with the tables from Caché.

Is it possible with JDBC tool?

What is the whole process in order to work in SQL developer?  I have the access information to Caché, but i can only choose in SQL Developer software only Oracle or MySQL database type, therefore i think, that have to install any  other tool.

Thank you in advance for your help!

br,

bálint

2
0 1032
Question Michel Bruyère · Nov 28, 2019

Hello,

I make some changes in our ObjectScript code between our prod environment  and dev environment in the process 'Hl7AdtFileIsoslBp'.

The operation is a class with "EnsLib.TCP.TextLineOutboundAdapter".

In prod:

In dev:

Like you can see, I don't have the contents of the text file.

I checked a lot of parameters but it seems identical.

The content of file is correctly received through TCP. So the only glitch is I don't see it in the 'View Full Contents'.

Best Regards.

10
0 680