#Databases

8 Followers · 371 Posts

InterSystems Caché database is a file where all the data, application scripts, and users, roles and security configurations are stored. Typically the name of the file is cache.dat.

Documentation.

Question steven Henry · Jul 10, 2025

Hello my friends,

I have a problem with Objectscript, why the value of address become like this ?

everything works fine except the Address,

this is my code, do I need something to make this into real address ? should I put something in my code ? 

 set paper=obj.PAADMPAPMIDR.PAPMIPAPERDR

            if '$isobject(paper) continue

            set Address=paper.PAPERStName

thank you for your help

Best Regards,

Steven Henry

3
0 111
Question Norman W. Freeman · Jun 27, 2025

I have notified that on several servers the IRISTEMP database is reported as only a few GB in size while on the disk where it's located, the IRIS.DAT file is much bigger (eg: 3GB reported in Portal (including free space) while file on the disk file is 121GB). The last modification date of IRIS.DAT is recent so I'm not looking into a location no more in use.

Is there an explanation for that difference in size ? 

I know temporary databases are special in a way they are not always stored on the disk, here is what InterSystems says about it :

4
0 139
Article Harry Tong · Jun 6, 2025 2m read

If you're migrating from Oracle to InterSystems IRIS—like many of my customers—you may run into Oracle-specific SQL patterns that need translation.

Take this example:

SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);

In Oracle:

1
0 204
InterSystems Official Daniel Palevski · Jun 9, 2025

InterSystems has released new point updates to resolve a defect affecting the most recent prior versions of 2025.1.0, 2024.1.4, 2023.1.6, and 2022.1.7, for the following supported product lines:

  • InterSystems IRIS
  • InterSystems IRIS for Health
  • HealthShare Health Connect

This issue could result in unexpected <PROTECT> errors or access anomalies when using features such as:

  • Implied namespaces
  • Mixed read-only/read-write access to databases
  • Management Portal pages for listing routines and globals

Symptoms Included:

1
0 168
Question Norman W. Freeman · May 20, 2025

Hello,
I have created this script that does lot of writes to a single global. DB write performance is much slower than expected (compared to another similar systems).

set rec = "..."//fill it with somethingset time = $piece($horolog,",",2)
while(($piece($horolog,",",2)-time) < 30) //30 secondsset^A($System.Util.CreateGUID()) = rec
}

I have notified the following : 

9
1 223
Article Guillaume Rongier · Apr 9, 2019 3m read

IRIS and Ensemble are designed to act as an ESB/EAI. This mean they are build to process lots of small messages.

But some times, in real life we have to use them as ETL. The down side is not that they can't do so, but it can take a long time to process millions of row at once.

To improve performance, I have created a new SQLOutboundAdaptor who only works with JDBC.

BatchSqlOutboundAdapter

Extend EnsLib.SQL.OutboundAdapter to add batch batch and fetch support on JDBC connection.

Benchmark

Benchmarks released on Postgres 11.2 with 1 000 000 rows fetched and 100 000 rows inserted on 2 columns.

10
3 1919
Question Scott Roth · Jun 11, 2025

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?

3
0 131
Article Irene Mykhailova · Apr 21, 2025 3m read

Migrating from Oracle, MSSQL, or other purely relational database systems to a multimodel InterSystems IRIS is a strategic decision that requires careful planning and execution. While this transition offers significant benefits, including enhanced performance, scalability, and support for modern architectures, it also comes with challenges. In this article I will highlight some of the considerations connected to coding to ensure a successful migration. I will leave everything connected to an actual migration of structures and data outside the scope of this article.


First, when you're considering migrating to a different database system, you need to understand your business logic, whether it's on the side of the application (application server) or the database server. Basically, where do you have your SQL statements that you will need to potentially rewrite

1
1 297
Article José Pereira · Aug 2, 2024 28m read

An experiment on how to use the LangChain framework, IRIS Vector Search, and LLMs to generate IRIS-compatible SQL from user prompts.

This article was based in this notebook. You can run it with a ready to use environment with this application in OpenExchange.

Setup

First, we need to install the necessary libraries:

!pip install --upgrade --quiet langchain langchain-openai langchain-iris pandas

Next, we import the required modules and set up the environment:

9
5 705
Question Michael Davidovich · Apr 10, 2025

Hello,

Our software commonly returns a full result set to the client and we use the DataTables plugin to display table data.  This has worked well, but at datasets grow larger, we are trying to move some of these requests server-side so the server handles the bulk of the work rather than the client.  This has had me scratching my head in so many ways.  

I'm hoping I can get a mix of general best practice advice but also maybe some IRIS specific ideas.

Some background

6
0 219
InterSystems Official Daniel Palevski · Apr 2, 2025

Summary of Alerts

Alert ID Product & Versions Affected Explicit Requirements
DP-439207 InterSystems IRIS® data platform 2024.3 (AIX) AIX installations Using JSON processing and Unicode non-Latin-1 character sets
DP-439280 InterSystems IRIS 2024.3 (containers with IntegratedML) IntegratedML Containers using TensorFlow

Detail of Alerts

DP-439207 - AIX JSON Unicode Parsing Issue

0
0 128
Article Scott Roth · Jan 24, 2025 3m read

Not sure there are many that connect to MS SQL to execute queries, stored procedures, etc, but our Healthsystem has many different MS SQL based databases we use within the Interoperability environment for various reasons.

With the push to moving from on-prem to the Cloud we ran into some difficulties with our SQL Gateway connections and knowing how to config them to use Microsoft Entra for Active Directory Authentication.

0
1 654
Question Gabriel Silva dos Santos · Jan 17, 2025

Hello everyone,

I’m facing issues with replicating data from my Caché 2016 database to a PostgreSQL database. I need to handle around 300 data updates per minute, and whenever certain tables are modified, those changes must be reflected in other databases.

So far, I’ve tried various approaches, including:

  • Setting up an intermediary API,
  • Using Azure Service Bus,
  • Leveraging Caché Jobs,
  • All of which rely on table triggers as the entry point.
6
0 200
Question Oleksandr Kyrylov · Jan 8, 2025

Hello, community.

I have a problem with running a SQL query on a linked MySQL table.

The connection works fine, but the following query throws an error:

SELECT   TOP 10 * FROM   linkedinternal_test.persons

 [SQLCODE: <-400>:<Fatal error occurred>]

  [%msg: <Remote JDBC error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10 T1.PersonID AS C1,T1.LastName AS C2,T1.FirstName AS C3,T1.Address AS C4,T1.Ci' at line 1. >]

Linked table class:

6
1 178
Question David Hockenbroch · Jan 8, 2025

I need to see the full SMTP trace when a %Net.SMTP attempts to send an email to troubleshoot an issue. As far as I know, the only way to get that is to uncomment line 192 in the %Net.SMTP class.

//:#define SMTPTRACE

I've done this in the past by giving myself the %DB_IRISSYS role, so I tried that. That database is also not mounted as read-only.

Of course the bigger issue here is that I can't seem to get that trace without having to edit a system class or create my own, but to fix my more immediate issue, what else do I need to check that would be preventing me from editing that class?

7
0 169
Question Amirul Irfan · Dec 31, 2024

Hi everyone,

I'm trying to connect my Laravel application with the InterSystems IRIS Data Platform using ODBC.I need help setting up the ODBC connection and querying the database properly. What is the proper way to configure Laravel to work with an ODBC connection to InterSystems IRIS?

Any help would be greatly appreciated!

Thanks in advance!

1
0 188
Question Ali Chaib · Dec 19, 2024

Every time I try to update an SQL table using odbc connection, I'm getting: ERROR <Ens>ErrException: <MAX $ZF STRING>zPrepareW+1^%Library.SQLGatewayConnection.1

Set sqlStatement = "UPDATE dbo.Table1 SET OriginalMessageText="_OriginalMessageText_"WHERE Id='"_Id_"'"
$$$TRACE("SQL Statement: "_sqlStatement)

I know that the problem is with the length of the ORU HL7 message  (that contains OBX base64 PDF file ) I'm trying to update in the table, but is there a way to fix this? other than truncating the message ?

I also tried this statement but it didn't work as well

0
0 119
Question David.Satorres6134 · Nov 13, 2024

Hello all,

We have our system with AutoParallel enabled:

USER>w ##class(%SYSTEM.SQL.Util).GetOption("AutoParallel")
1

But whenever I try to run any sql the autoparallel does not work. For example, this simple query:

When I force it with %PARALLEL we can see it will effectively run in parallel:

The total records is bigger than the threshold. So, what can go wrong? Anyone in the same situation?

9
0 309
Question Kurro Lopez · Oct 28, 2024

Hi all.

I hope you can help me.

I've renamed a namespace and its databases names.

  • Old Namespace: LABORATORIO
  • New namespace: SRV-LABORATORIO

The rename of all has worked fine. When I've tried to access to the portal, it is no available, displaying the message "Tha namespace SRV-LABORATORIO does not support productions"

So, I've run the following command in terminal

zn"SRV-LABORATORIO"do##class(%EnsembleMgr).EnableNamespace($namespace)

My IRIS has created the links to create the production.

Now, I've opened the portal but my code has disappear.

2
0 244
Article Tomoko Furuzono · Oct 24, 2024 1m read

InterSystems FAQ rubric

The maximum number of namespaces that can be created in one instance is 2047. However, to use a large number of namespaces, you will need to configure memory accordingly.

The maximum number of databases (including remote databases) that can be created in one instance is 15998. Depending on the type of license, there may be restrictions on the number that can be created. For details, please refer to the following document.
Database Configuration [IRIS]
Database Configuration
 

0
0 207
Question Norman W. Freeman · Oct 8, 2024

I have an IRIS installation that is using 8-bit charset encoding (set to deu8 / Latin 1). I would like to convert everything (database and system)  to Unicode

Charset encoding is something asked during installation, is it possible to change this on the fly ? The installer clearly say that Unicode systems cannot be converted. What about 8 bit ? 

Same for database : is there possible conversion ?

My current plan is the following :

- export all globals from 8-bit instance
- install a new Unicode instance
- import all globals into Unicode instance

Is there a simpler approach ?

5
0 594
Discussion Michael Lei · Oct 11, 2024

Hi Team, we are going to deliver a speech on a developer forum where most developers hv not used our tech before but using other database and integration technologies , Pls give us some key points on why they should adopt us and the benefits you can get, especially if you change your tech stack from others to IRIS. Thanks a lot!

3
0 234