Vicky Li · Nov 14, 2016 14m read
Mastering the JDBC SQL Gateway

As we all know, Caché is a great database that accomplishes lots of tasks within itself. However, what do you do when you need to access an external database? One way is to use the Caché SQL Gateway via JDBC. In this article, my goal is to answer the following questions to help you familiarize yourself with the technology and debug some common problems.

4 1 2,806

Hi Developers!

We are pleased to announce the next competition in creating open-source solutions using InterSystems IRIS Data Platform!

Please welcome the third InterSystems IRIS Online Programming Contest for Developers!

And the topic for this contest is InterSystems IRIS Native API.

The contest will last three weeks: May 18 – June 7, 2020


1 28 1,601

I’m excited to announce that InterSystems will be joining the open source community for InterSystems ObjectScript extension to Visual Studio Code. Early this year I posted that we were on a journey to redefine the future of our IDE strategy, and what came out of that is Visual Studio Code is the IDE that can support that future.

6 3 1,356

Working on implementation FHIR to my project, I found interesting project HAPI-FHIR, which could help me to quickly launch my FHIR api server with InterSystems Caché as a storage, because this projects uses Hibernate to connect to database, as an example they use DerbyDB. I tried to change settings to use InterSystems Caché, but unfortunately it does not work and throw some errors inside HIbernate. As I found in Caché documentation, I have not some many options, I just have to set Cache dialect, and set database url.

0 13 1,338

Hello everyone,

I'm trying to authenticate a user(Health Share clinician) from a Java Application. 

I 'm already connected to Caché and able to run SQL commands.

My question is: How can I authenticate a user using only SQL? In fact, what I want is verify if the users exists in the base and if the given password is the same used in Health Share.

There is a column 'password' in Security.users table but I'm not able to see its content, even so, I don't know which hash function to use to compare with.

0 7 1,286
Scott Roth · Aug 1, 2017
PDFs and Reading them

I know there are numerous Java libraries available to scan a PDF meta data, but is there a way to scan a PDF using native cache object script? We are looking to take a PDF from an external vendor, scan for meta data, create the HL7 message, and embed the PDF within the HL7 message.


Scott Roth

The Ohio State University Wexner Medical Center

0 2 927

With the release of InterSystems IRIS, we're also making available a nifty bit of software that allows you to get the best out of your InterSystems IRIS cluster when working with Apache Spark for data processing, machine learning and other data-heavy fun. Let's take a closer look at how we're making your life as a Data Scientist easier, as you're probably already facing tough big data challenges already, just from the influx of job offers in your inbox!

0 2 907
Ricardo Paiva · May 6, 2016
Load a dll at run time

I am using java gateway imported/proxy classes and JG business service. I need to load a dll at run time.

I use System.loadLibrary/System.load when in java. I’ve tried $ZF(-3,” C:\Windows\System32\pteidlibj.dll”) and $ZF(-4,1,"C:\Windows\System32\pteidlibj.dll") but I’m getting <DYNAMIC LIBRARY LOAD> error.

How can I load a dll at run time using COS?

0 5 901
Nigel Salm · May 12, 2017
Web Sockets


I am working on a project that will interact with some software called ROS (Robot Operating System). One of the development challenges we have is as follows:


ROS uses web sockets... So one connect with ws://localhost:9090 to the web socket server.  It starts off as http, but then "upgrades" to web socket.  It then keeps open this "tunnel" for bi-directional communication..


I need something like a HTTP Outbound adapter, but the Web Socket version of it...

Does anyone have any experience in this area?



1 14 824

Internally we use splunk for monitoring applications and network.

Does Ensemble have a way of exposing internal metrics and/or a way of exposing custom built metrics? 

I've used Deepsee dashboards in the past to monitor Apache Tomcat/Apache Camel/hawtio using JMX rest calls. This is the other way around and ideally I'd like to expose metrics on:

0 3 815

Hello everybody,

My question would be, how is the recommended way to access Windows shares, also in view of future demads. Of course, I'm also happy about an explanation or code snippet of how the library, which is mentioned in the following , can be used under cache.

The classic jcifs library is easy to use, also with Cache, but as microsoft ceases support for smb1, we are currently looking for alternatives. jcifs-ng is such a library, which we took a closer look at. In java code a jcifs-ng file operation looks like this:

0 3 754

Astronomers’ tools

5 years ago, on December 19, 2013, the ESA launched an orbital telescope called Gaia. Learn more about the Gaia mission on the official website of the European Space Agency or in the article by Vitaly Egorov (Billion pixels for a billion stars).

However, few people know what technology the agency chose for storing and processing the data collected by Gaia. Two years before the launch, in 2011, the developers were considering a number of candidates (see “Astrostatistics and Data Mining” by Luis Manuel Sarro, Laurent Eyer, William O’Mullane, Joris De Ridder, pp. 111-112):

Comparing the technologies side-by-side produced the following results (source):

Technology Time
DB2 13min55s
PostgreSQL 8 14min50s
PostgreSQL 9 6min50s
Hadoop 3min37s
Cassandra 3min37s
Caché 2min25s

The first four will probably sound familiar even to schoolchildren. But what is Caché XEP?

1 8 746

Recently we have exercised this with a partner. It may be helpful for others as well.

The basic functionality is to connect to SAP through SAPJCo (Supporting SAPJCo 3.07+).

As a first step have a production with at least two items of the following type:

  • EnsLib.JavaGateway.Service
  • EnsLib.SAP.Operation

Configure the settings for the Java Gateway and the SAP Operation accordingly. And start the production.


0 2 730

I have a simple app which tries to establish a connection with a Cache database instance via Global API for Java:

import com.intersys.globals.Connection;
import com.intersys.globals.ConnectionContext;

public class Assignment {

    public static void main(String[] args) {
        Connection connection = ConnectionContext.getConnection();
        connection.connect("SAMPLES", "_SYSTEM", "SYS");


The expection I am getting:

0 36 615

Hi all-

We used to have this Java applet in our CSP page to "print all" and "download all" PDF medical reports.  We want this applet so that the user won't have to open each PDF in the browser just to print it.

But now most browsers do not support Java applets anymore due to security concerns, so that Java application is down.  We tried to migrate to Java Web Start but don't know how to invoke the JNLP file from the CSP page.  I am new to Cache so any help would be greatly appreciated.

0 6 615


I have searched through documentation, etc and see many mentions of using Ensemble / Health Connect along with the Java Gateway to interface with JMS Queues, but see no specific documentation on how to do this.

Does anyone have any information, or a concise example of using the Java Gateway to allow Ensemble / Health Connect to be able to place messages and retrieve messages from a JMS Queue?



0 2 566


Totally new to IRIS and Cache.

Trying to evaluate it and work out how we could use it.

As a standard application database. Object or relational etc. does not matter. 

Issue is ObjectScript.


1) Can we develop, maintain and use an IRIS database and never use ObjectScript i.e. use only Java, Python, C++ interfaces etc. (exactly which one does not matter)? Would that make designing and using the IRIS database more prone to inefficiency and error?

0 4 522
p rd · Mar 21, 2018
Problems encountered with Java Gateway

Problems encountered with Java Gateway

I am writing a framework for use on the Java Gateway. The role of the framework is:

1. Import the framework jar file into ensemble studio (test completed);
2. In the framework jar, handle the related functions of the remaining jar files (the rest of the jar files are written by colleagues).

The general idea is as follows:

Send: Ensemble Java Gateway -> Framework Jar -> Plugin Jar (colleagues write, processing data).
Returns: Plugin Jar (processed return data) ->Framework Jar->Ensemble Java Gateway.

0 1 479
Steffen Brumm · Jan 18, 2017
Java packages deprecated?

Short question: Why are (almost) all Java-Classes marked as deprecated? I never had any problems. And the docu for java-bindings are still (version 2016.2.1) not marked as deprecated. I ask, because in my case everything works and the writing of Unittests is easier than in Objectscript and i cannot find a note about the reason of the deprecation (at least in the classes i have checked).

0 2 468

I defined the variables in Cache, as follows:

Property Content As% Stream.GlobalCharacter [Required, SqlColumnNumber = 3, SqlFieldName = B_Content];

And then use the SQL statement to add:

insert into table_name (B_Content) values ('very long string');

But the error:

0 3 422


I have a stored procedure which would generate a standard Cache String and it would be called through JDBC and I would

dump the result in java console/standard output.

What kind of characters should I use in COS so when output get send back to Java side, it knows it contains new line character ?

Thank for your help.


0 2 370
Benoit Nyssen · Oct 24, 2016
Call Java package from Caché


I'm a beginner in HealthShare, and I start to develop with caché some dataflow.

Some of my business process exist in java code.

Is-it possible to call these packages from caché classes ?

If it is, how can I do it in Caché classe ?



0 2 370