#InterSystems IRIS

19 Followers · 5.5K Posts

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.

Question jennifer mccallum · Aug 4, 2021

Has anyone firstly got VIP working for mirroring in Azure?  We are pretty sure that this won't work but I wanted to verify it.

Has anyone used the Azure Load balancer to act as a Virtual IP and if so was a application gateway required.

Interested to know your experiences in getting this working.

9
0 820
Question Carlos Alberto Penedo Salheb Junior · Aug 21, 2023

Hi,

We're using a database gateway from IRIS to Oracle using ODBC. It has been occurring a character set issue that invalidate special characters. 

Oracle support has found data type missmatch in ODBC debug while transfering data between the databases. 

ODBC was download from official website.

Is there any Intersystems contact to send it to check whether there is a ODBC issue? I hasn't found any directy contact in Intersystems in website. 

2
0 204
Question Pierre LaFay · Aug 20, 2023

Hi,

I don't found how to get params send by a GET REST query (not in url but by request param).

this is config of the call in postman

I try to get %request.Data, doesn't work : Data is undefined

I try to get %request.GetCgiEnv("Data"), doesn't work, return ""

I do ZW %request and see that my parameter is present in cgi parameters, but I don't now how to access it.

9
3 1167
Article Dmitry Maslennikov · Aug 15, 2023 8m read

As an example of an application on Java working with Hibernate dialect for IRIS, wanted to use RealWorld application, and found realization for Quarkus. RealWorld application is an example of an application close to some real one, with already prepared tests for the backend. Most of the examples of realizations can be found here

RealWorld Example App

The RealWorld example application is often referred to as the "Wikipedia for building full-stack applications." It serves as a standardized prototype that developers can use to create applications using various programming languages and frameworks. The application provides a real-world use case by mimicking a blogging platform, complete with features like user authentication, profile management, article posting, and comments. With a comprehensive set of specifications, including ready-made backend API documentation and frontend designs, it allows developers to see how the same functional requirements are implemented across different technology stacks. The RealWorld example is widely used as a learning tool and a benchmark for comparing various technologies.

Quarkus

Quarkus is an open-source, Kubernetes-native Java framework tailored for the GraalVM and HotSpot. Created with the aim to enhance the modern cloud-native environment, it significantly reduces the footprint and startup time of Java applications. Quarkus is known for its "container-first" philosophy, allowing developers to build lightweight, high-performing applications with a focus on microservices architecture. This flexibility has made it a popular choice for organizations looking to transition into serverless or cloud-based platforms, combining both imperative and reactive programming models. Whether it's a traditional web application or a complex system of microservices, Quarkus provides a robust platform for building scalable and maintainable software.

5
2 544
Question Pierre LaFay · Aug 11, 2023

Hi,
For a REST application, when a user connects, I have to write a message in an application log.
The login is processed by the /login routine by default.

How can I add a process to the login process?
Is there a callback ?
Should I create a login method in my class that extends %CSP.REST ?
I'm not sure and can't find information in the documentation ?

I try this (not working) :

<Routes>

<Route Url="/lists" Method="GET" Call="GetLists" />

<Route Url="/me" Method="GET" Call="GetUserInformations" />

<Route Url="/changePassword" Method="PATCH" Call="ChangeUserPassword" />

11
0 278
Question Sakthivel Perumal · Aug 16, 2023

I have a webpage in CSP in which there is a link to download files (files are located in specific folder). When the user clicks on the link , it has to download the file into their local machine. Attached code for both upload and download the file from server, upload is working and download is printing the file in webpage rather than downloading it. Appreciate your help.

Upload (Working fine): 

4
0 495
Article Robert Cemper · Aug 17, 2023 1m read

Inspired by a Question from @Evgeny Shvarov and a Reply from @Ashok Kumar T
I have created a base for Global download as XML file

How to use:
 
just call the page like http://<your_server>/csp/samples2/dc.Gdown.cls?GBL=global_name

gbl-name  without the initial ^ (caret)
The output has a default name <global_name>.XML  Your choice is available.

Known Limits:

  • you have to install it at your sourcing server
  • it is not tested/working across namespaces
  • there is no partial download
  • error handling is just basic or missing

There is space for personal improvements.
and this is it:

2
1 338
Question Elijah Cotterrell · Aug 17, 2023

I'm using the PEX framework to create non-polling Business Services in Python. Below is the code I've used to instantiate my Python Business Service from the application I have written:

conn = iris.connect(...)
IRIS = iris.createIRIS(conn)
#...#
pexserv = iris.pex.Director.CreateBusinessService(conn, "Demo.PEX.FlaskPEXService")
response = pexserv.ProcessInput(record_id)
IRIS.close() # Release IRIS obj
conn.close()
0
0 199
Announcement Ali Nasser · Aug 8, 2023

Hello Everyone,

Last month, we asked for input from the IRIS community regarding exam topics for our InterSystems IRIS SQL Specialist and Expert exams. We will close the window for providing feedback on the exam topics on Thursday, August 31st, 2023. Thus, if you would like to have your say in what topics are covered on the exam, this is your last chance!

1
0 191
Question Ashok Kumar T · Aug 10, 2023

Hi Team,

Is there any way to take a clone object of executed query result of %SQL.Statement 

Set statement= ##Class(%SQL.Statement).%New()
Set pre = statement.%Prepare("Select * From TableName")
Set  result = = SQl.%Execute()
Write result.%ConstructClone(,.cc) ; ConstrcutClone was overridden in the class %SQL.StatementResult

I can loop result.%Next() multiple times if clone was taken from the object

3
0 260
Question Alan Macdonald · Aug 10, 2023

We are updating a C# module which creates consumes an OdbcConnection from System.Data.Odbc.  This module used to create a DSN-less connection through the InterSystems Cache driver, and we are updating it to call the IRIS ODBC35 driver following migration of the target database.

The Cache connection was formed formatted as follows:

"DRIVER={InterSystems ODBC};SERVER=[server_address];DATABASE=[cache_namespace];UID=$uid$;PWD=$pwd$;"

When trying to simply update the connection string to replace the DRIVER value to "{InterSystems IRIS ODBC35}" we get the following error:
 

4
1 1242
Question Ashok Kumar T · Aug 11, 2023

Hi Community,

Whenever I insert a decimal value with trailing zero(ex:12.0000) value in my JSON object dynamically through %Set method. It truncates the trailing zeros. However If I use literal constructors { } It working as expected.  So, In my case the JSON will be generated dynamically. I can't go with "Curly Bracket { } " and the JSON schema not string as well.
Is there any way to fix this?

2
0 332
Question Norman W. Freeman · Aug 4, 2023

Hello,
I would like to do the following :

set name = $name(^A)
for i=1:1:10
{
    set$qsubscript(name, i) = "TEST"_i //dream code that does not work
}
set @name = ""//will create ^A("TEST1", "TEST2", "TEST3", ... , "TEST10") = ""

Unfortunately, unlike $PIECE(), $QSUBSCRIPT() is not bidirectional.

Is there a way to do what I described, in a clean way ? (something supported by the system) 

I would like to avoid :

6
0 303
Article Robert Cemper · Aug 10, 2023 3m read

As noted in the previous article Native API has some limits.
So I did some research on a more Terminal-like interface that
provides me with access like a console or the IRIS terminal
to allow my  $QUERY over a global and other nice commands
that are not supported/mapped in NativeAPI for ObjectScript.

The basic tools are well-prepared and available.

  • Connection() creates a fully operational and stable partition for me
  • Function() allows calling any routine or method I need
  • similar ClassMethodValue and ClassMethodVoid

There is just no method CommandLine and some already prepared code is needed.

1
0 310
Question Michael Davidovich · Aug 11, 2023

I have tried many methods from super classes of %CSP.REST but I can't find a method I can override that will run after the %response object is created so I can set a header that is common to each implementation method.  It's one line of code in each method to set the header but it would like to make it super easy, simple and just have a method that runs on, before, after the implementation method to set this common header (we want to return the API version in each responses HTTP headers.

2
0 278
InterSystems Official Carmen Logue · Aug 11, 2023

InterSystems IRIS Adaptive Analytics version 2023.2 is now available from the InterSystems Software Distribution site.  This new release brings along some great enhancements included with our partner AtScale's Version 2023.2 including:

  • Increased object sharing across cubes to make virtual data model development easier
  • A simplified way to create common, but complex, model elements like time-relative measures, intelligent dimensions, and calculation groups
  • Improved connector for Microsoft PowerBI
  • Built in usage metrics dashboard to manage aggregates and queries
0
0 204
InterSystems Official Bob Kuszewski · Aug 11, 2023

InterSystems Kubernetes Operator (IKO) 3.6 is now Generally Available.  IKO 3.6 adds significant new functionality along with numerous bug fixes.  Highlights include:

0
0 269
Question Colin Brough · Aug 9, 2023

We are about to embark on a development where we'll be taking HL7 messages and generating PDF reports from them. We are wanting to future proof our development efforts within the constraints of our currently deployed platform and future upgrade options. We are currently running on Ensemble 2018, though an upgrade to Iris is anticipated - at some indeterminate point in the future. We are aware of Zen Reports and InterSystems Reports (Logi) as technology options, but are also unclear on some details. A roadmap and guidance from those who've done this kind of thing before would be great!

3
0 250
Question Pavan Kumar Rayudu · Aug 10, 2023

Web Server Type: Microsoft Web Server: Microsoft-IIS/10.0 .

Error from Gateway  - IRISCONNECT : Error Writing to InterSystems IRIS
Cannot Write Data : IRISconnectSend(): 0 Error Code: 0 (IRISconnectErrorString="SSL/TLS error in SSL_write(), SSL_ERROR_SYSCALL: I/O error (10053)")
lencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.

Error from HOST System to CSP Gateway : 403 Forbidden Error.

Error from IIS Logs : 403 16

What could be the Root Cause and Resolutions ??

1
0 218
Article Megumi Kakechi · Aug 10, 2023 2m read

InterSystems FAQ rubric

※Use this method if you want to compare databases that have been replicated using mirroring, shadowing, or some other mechanism.

You can use the DATACHECK utility to compare global variables. Please refer to the document below.
Overview of DataCheck [IRIS]

***

Routine comparisons use the system routine %RCMP or the Management Portal.

Below is how to use it in the Management Portal.

0
2 462
Question Niklas Thilmont · Jul 30, 2021

Hey ISC Community!

For a small automation feature I would like to login to the IRIS shell non-interactively, skipping the whole username and password prompts, providing the credentials through other means. Something in the fashion of "iris session <instance-name> --user myuser --pass mypass" would be great, but the session tool itself doesn't seem to be capable of doing this.

Does anyone know a way to accomplish this? It need not be through "iris session", any way that can be automated would be fine. Disabling authentication for the terminal is not an option, though. 

6
0 1233
Article Robert Cemper · Aug 10, 2023 3m read

This question originally appeared in the comments of the post: Download globals from a particular server
 

This article was inspired by a recent question from @Evgeny Shvarov 
Download globals from a particular server
It is not a click-and-run code but a draft that requires adjustments for your special needs
you have  to add 

  • your credentials for server access
  • your level of error handling
  • Global name
  • the first set of subscripts as  %LB() block default=""
  • the last set of subscripts as  %LB() block default=""
  • a new global name if required default="" >> name not changed
1
0 340
Article Evgeniy Potapov · Aug 9, 2023 6m read

In this article, we will analyze the intricacies of setting up tables and graphs to improve the readability of data.

Logi offers a rich set of data visualization tools. You can find anything from a wide variety of chart templates to custom CSS styles. Understanding the assortment of settings and options can be quite difficult. First, we will create a chart and a table with default settings, and give them a presentable look using InterSystems Reports (powered by Logi Report).

Graphic

0
1 425