Syndicate content 0  

In the previous article, we talked about ODBC and connecting from C#. And now, let's look at JDBC and Java. The InterSystems JDBC driver is the recommended, high-performance way to integrate your Java applications.

Here is a step-by-step guide to getting your Java application connected to an IRIS instance using the JDBC driver.

Step 1: Obtain and Include the InterSystems IRIS JDBC Driver

Unlike ODBC drivers, which are often installed system-wide, JDBC drivers are typically distributed as JAR files that must be included in your Java project's classpath.

If InterSystems IRIS is installed on your local machine or another you have access to, you can find the file in install-dir/dev/java/lib/ or similar, where install-dir is the installation directory for the instance. Conversely, you can download the jar file from Driver packages page.

Or as suggested by @Dmitry Maslennikov in the comments, use the maven central repository for Maven:

<dependency>
    <groupId>com.intersystems</groupId>
    <artifactId>intersystems-jdbc</artifactId>
    <version>3.10.5</version>
</dependency>

or for Gradle:

implementation("com.intersystems:intersystems-jdbc:3.10.5")

Include the jar file in Project:

  • Maven/Gradle: If you use a build tool, the simplest method is to add the InterSystems JDBC driver as a dependency in your pom.xml or build.gradle file. This automatically downloads and manages the JAR.
  • Manual: For simple projects, you must place the JAR file in a project directory (e.g., /lib) and explicitly add it to your classpath when compiling and running.

2 2
0 72

Visual Studio Code releases new updates every month with new features and bug fixes, and the July 2025 release is now available.

Enhancements include revamped tool picker and expanded tool limits for MCPs, Chat GPT-5 integration and chat checkpoints, and multi-branch Git worktrees plus coding agent session management to improve productivity.

2 0
0 112

I'm trying to open a TCP connection to a remote system. The Caché command I'm using to open the connection is OPEN "|TCP|"_PORT:(IP::"PSE"):10 where PORT is a port number in the range 40000 to 40100 and IP is a standard IPv4 addess like 10.200.100.50
the connection appears to open because $TEST becomes 1.
I'm then writing to the open port with USE "|TCP|"_PORT:(::"S") WRITE "some text",*-3
It's a windows system

1 4
0 108

Hi, Community!

Looking to modernize the way you build interoperability screens in InterSystems® products? Take a tour of some recent UI improvements.

Building Integrations: A New User Experience

https://www.youtube.com/embed/zupj1P7Plgo?utm_source=youtube&utm_medium=social&utm_campaign=zupj1P7Plgo
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

1 0
0 112

Hi,

My HL7 interface in production is outputting messages to a HL7 File Operation and a EnsLib.HL7.Operation.HTTPOperation. There is no errors in the File Operation, but the HL7 HTTPOperation is giving ERROR #5911: Character Set 'iso-8859-4' not installed, unable to perform character set translation. Both the HL7 File Operation and HL7 HTTP Operation are using latin1 for Default Char Encoding.

What is ERROR #5911 about? Is something missing in the IRIS installation?

1 5
0 107

I'm looking for a new position. Part time/full time/temp. I'm flexible.

I have 20 years healthcare IT background - most recently with a startup where I built/supported interfaces in Mirth.

Even a temp project that needs someone to test or help with workflow. I have a background in end-to-end integration between systems (Saas/APIs, etc)

1 0
0 112
Article
· Dec 4 6m read
Sub-Table Security

InterSystems IRIS provides extensive configurable security options, yet many developers primarily use roles and resources to secure entire tables or routines. Today, we will delve deeper. We can also secure individual columns and rows separately, but these two mechanisms operate very differently. Let's begin with the columns.

Column Security

For testing and demonstration, we will keep our table structure concise and straightforward. We have a table called "Person" in the USER namespace that contains an ID column, a date of birth column (DOB), first name, and last name.

5 0
1 111

Trying to check date in DTL.

Want to throw a custom error not the default one from the $ZDTH. It does in the try as will write "Error" when testing the DTL but the actual error not showing. Report errors is turned on. I also tried the THROW logic from best practices but that doesn't work either. $SYSTEM.Status.DisplayError(status) does display what the error should be returned.

0 5
0 106

Dear, Community!

I have a concern about using %Stream.TmpCharacter for storage purposes. Reading the class's source code, I can understand a bit about how it works. But I'd like to know from the community how it actually works. Is it necessary to use the .Clear() method to clear this buffer, or is it done automatically upon disposal?

Note: Please forgive my poor English.

1 6
0 105

I have a table with 5M rows, the table contains lab observation codes and display names, both columns have type varchar(2000) and both are indexed.

The query looks like:

select code_1_text, count(code_1_text)
  from demo.observation_lab
  group by code_1_text
  order by 2 desc

The table contains ~1000 distinct display names.

It takes 4 minutes for the query to complete on a VM with some pretty old Xeon, 4 cores, 32G RAM, NVME SSD and Linux on board.

0 4
0 107

I have created a New Database/Namespace within our TEST environment on both the Primary and Backup of the mirror. When I go to create the database/namespace on the DR node I am getting "Cannot open file '/ensemble/TEST/iris.cpf_...." while the cpf file that it references does not exist. Anyone have any clue to why this might be happening?

0 3
0 108

I have a segment within a Group (grp) that needs to be validated that it is populated within the message.

When you use a Foreach within a Business Rule how should you account for the counter in the group?

For example, Epic sends their MFN message in the following format.

MSH~MFI~[~{~MFE~STF~PRA~[~ZPR~]~[~ZLK~]~[~CER~]~[~ZMG~]~[~ZTF~]~[~ZGP~]~[~ZDD~]~}~]

1 1
0 110

Hi all,

I'm working on a requirement to loop through all encounter streamlets(SDA) to identify specific encounters based on an encounter extension property for a patient fetch request. However, this current process is time-consuming, and we need to create indexes for that property to quickly retrieve the expected results without going through all the encounter streamlets of a patient.

I would appreciate help on how to achieve this, as I couldn't find any documentation explaining how to create indexes on a SDA element.

Thanks in advance.

0 1
0 110

I am building a web application that uses JWT for authentication. I would like to pass the token in cookies instead of the Authorization header.
Is there a way to intercept the request and check the token from the cookies instead of the header? I tried overriding the OnPreDispatch() method and adding it to my dispatch class, but it seems like it never gets executed, as the response returns "Unauthorized" before reaching it.

2 2
0 109

Hello Community:

Do you want to know how to record yourself without looking like you're speaking from a cave? Are you one of those who say you ‘don't come off well on camera’?

Today I'm going to share with you some specific tips that I learned after several years of filming interviews for television and networks. I remind you that these are tips in case you are thinking of taking advantage of the Article Contest video bonus. However, they are tips that I'm sure you can use for presenting webinars, video calls and filming yourself in general.

5 0
0 111
Hello and welcome to the 2024 Developer Community YouTube Recap.
Top 10 InterSystems Global Summit
2 0
0 111

Hi all,

We're developing a medical appointment app that connects doctors' schedules to an appointment provider.

The provider is returning us the appointment in the following format:

Thu Jul 03 08:20:00 CEST 2025

It means, 03 july 2025 at 08:20:00 Central European Summer Time (UTC+2)

But we need the following format:

2025-07-03 08:20:00+02:00

Is there any option to convert zone time code (CEST) to a UTC+x ?

How to convert zone time code (CEST, CET, ET, EDT, etc..) in its zone time in UTC (UTC+2, UTC+1, UTC-5, etc..) ?

1 4
0 106

I have a class with a projection that creates some persistent classes (chunks) and a non-persistent "Daemon" class that I want to have running in the background, doing some processing. The daemon needs to look at the "chunk" classes, and I want it to be simple to start the daemon -- I am currently calling the daemon's start method at the end of the CreateProjection method.

2 8
0 102

You can learn a lot from a first impression; we want to hear about yours.

As a continuation of our User Insights Interview program (see this post for more details), we’re expanding our scope to include Python developers, particularly those of you who are new to working with InterSystems technology. We’re looking to conduct one-on-one interviews to hear your honest thoughts about getting started: What made sense, what didn’t, and where we could improve.

5 0
0 110

Hi Community!

Thank you to everyone who participated in the "Improving the Initial Developer Experience" sweepstakes! Your feedback is invaluable in making InterSystems products better, and we will use your ideas to improve our offerings. Now, it's time to announce the winner - watch the video to see the sweepstake drawing:

https://www.youtube.com/embed/d2ye_mnBxZo
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

4 2
0 69