Most of the databases with SQL access offers the DATE_TRUNC function or analogs. This helps to easily truncate a date by any part while keeping the DateTime in a valid format
.png)
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
Most of the databases with SQL access offers the DATE_TRUNC function or analogs. This helps to easily truncate a date by any part while keeping the DateTime in a valid format
.png)
In some testing scenarios, I need to clone the database. While I use only SQL access.
I need all data to be cloned, not mapped from the original database, and a separate database to be accessed.
Is there any way to do so?
Something like
CREATE DATABASE [Database to create]
WITH TEMPLATE [Database to copy]When using %JSONImport it seems to only report a single error, is there a way to report all the errors with out having to do multiple requests?
{
"errors": [
{
"code": 9406,
"domain": "%ObjectErrors",
"error": "ERROR #9406: Unexpected format for value of field, CurrencyCode, using Update mapping",
"id": "JSONImportError",
"params": [
"CurrencyCode",
"Update"
]
}
],
"summary": "ERROR #9406: Unexpected format for value of field, CurrencyCode, using Update mapping"
}
I've been working for some days in the connectivity between NodeJS client applications and IRIS as server using web sockets.
You can get all the information in relation to the web socket connections using IRIS as a client or as a server from this URL: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
For this example we are going to configure an asynchronous server, that would be really usefull to create a subscription manager for our productions.
In this article, I am trying to walk through my deploying step of IAM on my EC2(ubuntu).
IAM is InterSystems API Manager
you may reference to the link below to get more idea about IAM
https://docs.intersystems.com/components/csp/docbook/Doc.View.cls?KEY=PAGE_apimgr

.png)
.png)
.png)
.png)
https://community.intersystems.com/post/introducing-intersystems-api-manager
During a migration from a rather old Caché Version (2016.1) to IRIS
I met the problem to migrate Streams.
The difference in the storage Global is minimal
It's not a big effort to do it manually for a few streams.
But for some thousand streams I hope there is a tool already available.
But where?
Our ERP solution runs on different sql databases (such as ms sql and posgre). We are using the same code for all plattforms, doing database-specific changes in the db driver for each type of database.
There is one function in our program, where the user can store long text to discribe something, which is used in print and web. This text is treated/stored as html and can include pictures. The pictures in the html are stored base64 coded inside the html and the html is stored as text in a column. In other database systems, this is treated as TEXT or BLOB, and workings just fine.
First of all, what is data anonymization?
According to Wikipedia:
Data anonymization is a type of information sanitization whose intent is privacy protection. It is the process of removing personally identifiable information from data sets, so that the people whom the data describe remain anonymous.
In other words, the data anonymization is a process that retains the data but keeps the source anonymous. Depending on the adopted anonymization technique the data is redacted, masked or substituted.
And that is the purpose of iris-Disguise, to provide a set of anonymization tools.
Is anyone like me, and felt really jealous that they didn't have enough points to acquire the IRIS-based Raspberry Pi system when it was offered? Do you have a spare Raspberry Pi 4 handy? If so, I'll walk you through setting up Docker and IRIS on your Raspberry Pi so you can have the smallest IRIS computer in town!
Things you'll need:
Raspberry Pi 4 (at least 4G RAM, but I have several with 8G so that's what I used.
WIN SQL is the normal editor used by most of the users .But we can't download large amount of data using winsql . So I have written a tutorial how to connect with a new Java based editor called Squirrel SQL which can easily download or export data in excel or any other formats. Also I included a Java JCBC connection program to connect with the IRIS database especially a mirroring/failover server.
![]()
Named parameters can be achieved with SQLAlchemy :
from sqlalchemy import create_engine, text,types,engine
_engine = create_engine('iris+emb:///')
with _engine.connect() as conn:
rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
print(rs.all())
or with native api
from sqlalchemy import create_engine, text,types,engine
# set URL for SQLAlchemy
url = engine.url.URL.create('iris', username='SuperUser', password='SYS', host='localhost', port=33782, database='FHIRSERVER')
_engine = create_engine(url)
with _engine.connect() as conn:
rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
print(rs.all())
You can programmatically retrieve routine dates and sizes using the RoutineList query of the %Library.Routine (or just %Routine) class.
The RoutineList query has an argument, and the routine name to be searched can be specified by prefix match or middle match. (For wildcards, specify * or ?)
In the example below, *.MAC is specified as an argument.
SET tStatement = ##class(%SQL.Statement).%New()
DO tStatement.%PrepareClassQuery("%Routine" , "RoutineList")
SET rs = tStatement.%Execute("*.MAC",,0)
DO rs.Hi,
I know little about SOAP security and am trying to apply a WS-Policy to a simple HL7 web service, but when I do I get object script errors.
The most latest one being:
ObjectScript error: <UNDEFINED>zValidateTransport+4^%SOAP.Security.Policy.1 *%request
The web service, shown below, simply extends
{ Parameter LOCATION = "https://ryr-hc-test.sussex.nhs.
Hi Developers,
See how the Production Extension framework (PEX) allows you to build custom interoperability components in .NET or Java without first learning ObjectScript.
With PEX, you can code in a familiar language and take advantage of established code libraries to add components to a production.
IRIS configurations and user accounts contain various data elements that need to be tracked, and many people struggle to copy or sync those system configurations and user accounts between IRIS instances. So how can this process be simplified?
In software engineering, CI/CD or CICD is the set of combined practices of continuous integration (CI) and (more often) continuous delivery or (less often) continuous deployment (CD). Can CI/CD eliminate all our struggles?
I work in a team which develops and deploys IRIS clusters. We run IRIS in containers on Red Hat OpenShift container platform.
Hi all!
In a project we needed to define topics to publish messages and register different subscribers which will receive those messages asynchronously. We also needed it to be as simple as possible and that we could use it on InterSystems IRIS directly.
As an experiment, I'm sharing this iris-pubsub open exchange example.
This is built on top of InterSystems IRIS interoperability features, it needs a running production.
The first time we need to define how many partitions we want to dedicate to handle messages. The more partitions you add, the more capacity to handle messages.
Hi Developers,
Often we create and edit InterSystems IRIS Interoperability solutions via a set of UI tools that is provided with IRIS. But it is sometimes difficult to setup the development environment to handle changes we make in the UI to source control.
This video illustrates how git-source-control helps with source control Interoperability components while changing it in the UI.
⏯ Git Source Control for InterSystems IRIS Interoperability with Docker and VSCode
If you are seeing this error during import: ERROR #6301 Line: 2 Offset: 118 This does not appear to be a Cache exported file, unable to import.
This error is caused by exporting from InterSystems IRIS and trying to import into Caché. If you plan on exporting from IRIS to Caché, you can use the following qualifier to export your classes so that Caché does not throw an error on import:
w $SYSTEM.OBJ.Export(<items>,<filename>,"/exportversion=cache2018.1")
Please see the Documentation for more information about this Export Qualifier
If you are using Python, you can use the built-in venv module to create a virtual environment. This module is the recommended way to create and manage virtual environments.
A virtual environment is a tool that helps to keep dependencies required by different projects separate by creating isolated python virtual environments for them. It solves the “Project X depends on version 1.x but, Project Y needs 4.x” dilemma, and keeps your global site-packages directory clean and manageable.
So if like me you work a lot with Python, you can use the venv module to create a virtual environment for your project. This will allow you to install packages without affecting the global Python installation.
You will find here two neat alias to create and activate a virtual environment.
alias venv="python3 -m venv .venv; source .venv/bin/activate"
alias irisvenv="python3 -m venv .venv; source .venv/bin/activate; pip install https://github.com/grongierisc/iris-embedded-python-wrapper/releases/download/v0.0.3/iris-0.0.3-py3-none-any.whl"
This is the second piece in our series on 2021.2 SQL enhancements delivering an adaptive, high-performance SQL experience. In this article, we'll zoom in on the innovations in gathering Table Statistics, which are of course the primary input for the Run Time Plan Choice capability we described in the previous article.
SSH framework is a relatively representative framework of Java, which was popular many years ago. There are Struts+Spring+hibernate and Spring MVC+Spring+hibernate. Of course, I used the second one in college. If I can connect IRIS to Hibernate as a library, does it also mean that IRIS can be developed using SSH framework in theory?
Tools and environment
JDK 1.8
Maven
Hibernate 5.X.X
IRISHealth-2022.1.3
intellij idea
Windows 10 64
Create database
Create several tables in code mode
Class BKIP.SOA.MonitorScreen.CacheTable.Query
Queryis a method for finding data that meets the conditions and presenting the results as a data set.
QuerySQL Query,Using %SQLQuery and SQL SELECT.Custom Query,Using Class %Query and custom logic to generate result.Note: Before we talk about the general Query solution, let's first understand the basics of Query to help understand the implementation principles. If you already know the basic use of Query, please skip this section and go straight to "Challenges".
Visual Studio Code (VSCode) is the most popular code editor on the market. It was created by Microsoft and distributed as a free IDE. VSCode supports dozens of programming languages, including ObjectScript, Until 2018, Atelier (based on Eclipse). It was considered as one of the main options to develop InterSystems products.
1.1 I met a few project that their interface servers were crashed. Cutoms wanted resume server as fast as we can. their servers are running at lan,and they can't use git,there are some namesapce in the server running different service,and usualy there is only one server.
1.2 In the message,it has property in type of characterstream,as you know,the message search page doesn't support filtering with property of characterstream,so it's so hard to find the messge you want.
1.3 Other workmate may update the code on the server,and mybe their is something wrong.
Hi Friends,
In my business process I am updating cache table using dynamic query.
ex:
Set result=##class(%ResultSet).%New("%DynamicQuery:SQL")
Set sc=result.Prepare("SELECT %ID, Name, Salary FROM Sample.Employee WHERE Salary > ?")
If $$$ISERR(sc)
{
// here I want to capture the error details in trace , log , that I can see in production web page
}
could you please provide any suggestions to grab the error message.
I tried
Do DisplayError^%apiOBJ(sc)
Do $SYSTEM.OBJ.DisplayError(tSC)end up with no class found , methods found errors.
I have spent 5 hours today for some clue.
Thanks ,
Prashanth
Hi everyone!
If you are working with IRIS 2021+ and you remove all of the built in entries for External Language Servers, there is an unexpected consequence that may prevent you from running an installer to upgrade your version of IRIS. This does appear to be a bug which has been raised with WRC, however there are some people that may have recently removed these settings and then will soon be upgrading their environment and could face this same issue.
Specifically, the removal of all the External Language Server entries will also remove the "[Gateways]" heading in the iris.
I'm using %XML.Reader to open an XML file and use it's correlate method to try and convert it to a class.
The conversion fails with an error of:
ERROR #6277: Type attribute, LimitedFreeTextFieldInstance, does not specify valid type for XML input tag: Field (ending at line 3 character 118).
This is the XML
<Fields xmlns:xsi="http://www.w3.Hi Community,
We're pleased to invite you to the upcoming webinar in Spanish called "EMPI: Set up and use case".
Date & time: March 30, 4:00 PM CEST
Speaker: @Luis Angel Pérez Ramos, Sales Engineer, InterSystems Iberia

I know it is possible get the user using ##class(Security.Users).Get("username"), but I need to get a user by your email. How Can I get a user by email?
Hi guys, I defined a subclass to %CSP.Login and assigned csp/sys login page to this subclass:

But did not work, I get this error:

And more, the default %CSP.Login continues to be called to login when the user not logged yet
So, how can I do to replace the default %CSP.Login by my subclass?