Hi Community,
Watch this video to see how to connect to InterSystems Cloud Services from your C++ application, using the InterSystems ODBC Driver:
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.
Hi Community,
Watch this video to see how to connect to InterSystems Cloud Services from your C++ application, using the InterSystems ODBC Driver:
We are currently using different iterations of Ens.Director.EnableConfig items to start/stop objects within the Interoperability Namespace. We are looking for ways to minimize our downtime as we move from AIX to a new section of our Network and Red Hat Servers.
Besides using Ens.Director.EnableConfig item and waiting for a response, or just disabling the objects through the Namespace class file, is there a quicker way to stop Services and Operations to ensure the TCP disconnect is sent to those endpoints so we can move the networking rules to ensure they point to new servers?
Let me introduce my new project, which is irissqlcli, REPL (Read-Eval-Print Loop) for InterSystems IRIS SQL
Install it with pip
pipinstallirissqlcliOr run with docker
dockerrun-itcaretdev/irissqlcliirissqlcliiris://_SYSTEM:SYS@host.docker.internal:1972/USERConnect to IRIS
$ irissqlcli iris://_SYSTEM@localhost:1972/USER -W
Password for _SYSTEM:
Server: InterSystems IRIS Version 2022.3.0.606 xDBC Protocol Version 65
Version: 0.1.0
[SQL]_SYSTEM@localhost:USER> select $ZVERSION
+---------------------------------------------------------------------------------------------------------+
| Expression_1 |
+---------------------------------------------------------------------------------------------------------+
| IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2022.3 (Build 606U) Mon Jan 30202309:05:12 EST |
+---------------------------------------------------------------------------------------------------------+
1 row in set
Time: 0.063s
[SQL]_SYSTEM@localhost:USER> help
+----------+-------------------+------------------------------------------------------------+
| Command | Shortcut | Description |
+----------+-------------------+------------------------------------------------------------+
| .exit | \q | Exit. |
| .mode | \T | Change the table format used to output results. |
| .once | \o [-o] filename | Append next result to an output file (overwrite using -o). |
| .schemas | \ds | List schemas. |
| .tables | \dt [schema] | List tables. |
| \e | \e | Edit command with editor (uses $EDITOR). |
| help | \? | Show this help. |
| nopager | \n | Disable pager, print to stdout. |
| notee | notee | Stop writing results to an output file. |
| pager | \P [command] | Set PAGER. Print the query results via PAGER. |
| prompt | \R | Change prompt format. |
| quit | \q | Quit. |
| tee | tee [-o] filename | Append all results to an output file (overwrite using -o). |
+----------+-------------------+------------------------------------------------------------+
Time: 0.012s
[SQL]_SYSTEM@localhost:USER>You can use the system routine ^DBSIZE to estimate the backup file size (see also Note 1).
^DBSIZE estimates the file size of full, cumulative, and differential backups of the databases selected in the database backup list.
The database backup list is created from [System Administration] > [Configuration] > [Database Backup] > [Database Backup List] in the Management Portal.
.png)
For more information, please refer to the document below.
Estimate backup size with ^DBSIZE [IRIS]
Estimate backup size with ^DBSIZE
An execution example is as follows.
USER>set $namespace="%SYS" //or zn
Several steps should be done in order to secure the connection through xDBC clients to an IRIS Server instance using TLS. Most of the information can be obtained from the documentation about TLS on IRIS here, about configuring the security layer for encrypted connections. In the next paragraphs we will cover an step-by-step guide on how to configure and test the connection using SQL Clients apps using ODBC and JDBC.
You can download the drivers from InterSystems IRIS Driver Packages
IRIS Documentation on this link
Before starting with the client
In this article, we will establish an encrypted JDBC connection between Tableau Desktop and InterSystems IRIS database using a JDBC driver. While documentation on configuring TLS with Java clients covers all possible topics on establishing an encrypted JDBC connection, configuring it with Tableau might be a little bit tricky, so I decided to write it down.
Before we start with client connections, you need to configure SuperServer, which by default runs on port 1972 and is responsible for xDBC traffic to accept encrypted connections. This topic is described in the documentati
I need to list the calls from all business service/processes (DTL, BPL and code) - either to another business process or a business operation. i assume this is possible, as they can draw the lines on a production diagram so imagine there must be a way to do it but im scratching my head. Any help appreciated...
I did some experiments on my local machine and found out that IRIS seems to associate each request (eg: CSP request) to a dedicated process named IrisDB.exe
This process has 3 threads, and one of them seems to be the main working thread (that will the handle request).
If I spawn many concurrent requests, the number of IrisDB processes on my local machine will grow (to make sure each request can be handled in parallel).
It seems there is a limit : it will create no more than 64 processes to handle requests (eg: even if 100 concurrent requests are send to IRIS).
I have been wondering if there is
Welcome, dear members of the community!
In this article we are going to demonstrate the great potential that IRIS/HealthConnect makes available to all its users with the use of Embedded Python and we are going to do it by developing a small production that will allow us to recognize and identify the faces present in a JPG file from some images that we will use as a reference.
Let us begin!We have published the entire application in OpenExchange so that you only need to download and deploy it in Docker as you can read in the associated README file.
I deployed the IRIS container on my Mac M1 Docker Desktop Kubernetes cluster:
I limited the container 1.5Gb memory:
In the "merge.cpf" file I constrained IRIS memory usage aspects:
Now I load-test the container by multiple installing and uninstalling the %ZPM package:
Hello everyone!
Maybe someone will tell me what could be the reason for such messages in the message.log file
05/03/23-06:46:27:155 (6584) 0 [Utility.Event] [SYSTEM MONITOR] Mirror state: Member type = Failover, Status = Transition
05/03/23-06:46:27:350 (1620) 1 [Utility.Event] Failed InstanceLookup (agent probably not running): instance not found
05/03/23-06:46:27:351 (1620) 2 [Utility.Event] Failed to become either Primary or Backup at startup
05/03/23-06:46:27:725 (1620) 1 [Utility.Event] Failed InstanceLookup (agent probably not running): instance not found
ISCAgent service is running.
Hey Community,
Watch this video to see how to connect to InterSystems Cloud Services from your .NET application using the InterSystems ADO.NET Managed Provider:
Hi,
I use ZLANGC00 and ZLANGC01 for shortcuts at programmer level to some frequently used dev tools. Is there a way to pass 2 arguments to a command?
Example:
ZZQD "Queue1" // Equivalent to D ZZQD^%ZZLANGC00("Queue1") to display messages in queue1 (ZZQD is my own code in %ZZLANGC00)
but if I wanted to type ZZQD "Queue1" $H-3 to call ZZQD^%ZLANGC00("Queue1",$H-3) can it be done or do I need to write something to manipulate the argument? So ZZQD "Queue1-3"
I'm using the EnumerateJobStatus query of class Ens.Util.Statistics to obtain the LastActivity value of a Business Host.
I would expect that this would return the timestamp of the last message received by the BH, understanding that any connect/disconnect activity would reset that timer. However, the time returned appears to actually be the time at which Ens.MonitorService generated the alert and is not directly related to anything that happened in the BH itself.
I can probably work around this by subtracting the BH's configured InactivityLimit value from the timestamp, but this seems like it
Hello, I need to determine the best way to split a class containing multiple methods(about 20), into multiple classes in which each method is in its own class. I am wondering if there is another way other than manually creating the different classes, and copying each method into each class. Doing this in Intersystems Studio.
LS,
I'm trying to learn how to use the IKO for deploying solutions to Kubernetes. In my current project I'm trying to deploy the IAM onto a K8S context. Are there directly usable samples of the yaml file I need to use for that?
In Windows, set the processes with the following image names as monitoring targets.
[irisdb.exe]
contains important system processes.
* Please refer to the attachment for how to check important system processes that should be monitored.
[IRISservice.exe]
This is the process for handling IRIS instances via services.
When this process ends, it does not directly affect the IRIS instance itself, but stopping IRIS (stopping the service) is no longer possible.
[ctelnetd.exe]
%Service_Telnet Starts when the service is enabled and becomes a daemon process to access IRIS via Telnet.
Once
Has anyone seen this before? I'm new/bad at Docker and not even sure how to debug.
$ sudo docker logs <container>
[INFO] Starting InterSystems IRIS instance IRIS...
[INFO] Unable to read the startup.last file to identify the location of the write
image journal file (IRIS.WIJ) that was last in use by this instance. Please
fix the permissions of the startup.last file.
** Startup aborted **
Starting IRIS
Recovery failure. Startup aborted.
[ERROR] Command "iris start IRIS quietly" exited with status 256
[ERROR] See the above messages or /usr/irissys/mgr/messages.log for more information
[FATAL] Error
The Amazon Web Services (AWS) Cloud provides a broad set of infrastructure services, such as compute resources, storage options, and networking that are delivered as a utility: on-demand, available in seconds, with pay-as-you-go pricing. New services can be provisioned quickly, without upfront capital expense. This allows enterprises, start-ups, small and medium-sized businesses, and customers in the public sector to access the building blocks they need to respond quickly to changing business requirements.
Updated: 10-Jan, 2023
I'm trying to update the hosts file on Windows in C:\Windows\System32\drivers\etc
I know that in Linux if you update the hosts file, you sometimes need to restart the Network Manager for the changes to take effect.
So my question is that is there a similar thing that we need to do on Windows or do the changes take effect as soon as the file is saved?
Apache Superset is a modern data exploration and data visualization platform. Superset can replace or augment proprietary business intelligence tools for many teams. Superset integrates well with a variety of data sources.
And now it is possible to use with InterSystems IRIS as well.
An online demo is available and it uses IRIS Cloud SQL as a data source.
.png)
This is a rather personal view of the history before Caché.
It is in no sense meant to compete with the excellent books from Mike Kadow discussed in an earlier article.
We have different histories and so this is meant to create a different perspective of the past.
The whole story started in 1966 at MGH (Mass.General Hospital) on a PDP-7 Ser.#103
with 8K of memory (18-bit words) [today = 18K byte ] as a spare system.
"Serial Number 103 - was located in the basement of the now demolished Thayer Building,
currently [2014] the site of the Cox Cancer Center at MGH."
"Neil Papparlardo and Curt Marble
I have a client who' recently acquired a business that was running software that uses InterSystems IRIS as the database back end. In the process of preparing to have my company's software installed the client formatted the hard drive of his server, wiping out his data. I can't convert the data to MS SQL without a functioning database. He had a backup on an external drive, which I have copied down to my local machine. I loaded up a virtual machine with Windows 10 Pro, I installed Docker and IRIS.
Migrating data to another system takes two steps.
To migrate the class definition to another system, export it to a file in XML format or UDL format (extension .cls).
The export procedure in Studio is as follows.
Tools > Export
> Select multiple classes you want to migrate with the [Add] button
> Check [Export to local file]
> Confirm that the file type is XML, enter a file name, and click [OK].
After this, import the exported XML and UDL files in the studio on another system. The import procedure in Studio is as follows.
Tools > Import from Local
>
Hey Community,
Watch this video to see how to connect to InterSystems Cloud Services from your Python application using the InterSystems DB-API driver interface:
Our team has had success creating and publishing Power BI reports using an ODBC connection to an IRIS database, but there have been concerns about the responsiveness of these reports.
As an attempt to improve responsiveness, I'm trying out the "DirectQuery" connection using the InterSystems IRIS connector available in our version of Power BI Desktop (September 2021).
The version of IRIS I'm connecting with is "IRIS for Windows (x86-64) 2022.2"
Within Power BI Desktop, I can successfully get data and populate visualizations, despite this concerning warning in the "Source" step of a query (Issue
Salesrep is the production file with only an index on the idkey (it has more properties than shown here).
Property SalesRepId As %String(MVATTRIBUTE = 0, MVJUSTIFICATION = "L", MVWIDTH = 10) [ Required ];
Property Surname As %String(MVATTRIBUTE = 2, MVJUSTIFICATION = "L", MVWIDTH = 25);
Property Forename As %String(MVATTRIBUTE = 3, MVJUSTIFICATION = "L", MVWIDTH = 25);
. . .
Property FundraiserId As %String(MVATTRIBUTE = 15, MVJUSTIFICATION = "L", MVWIDTH = 20);
Index SalesRepIdIndex On SalesRepId [ IdKey, PrimaryKey, Unique ];
Reports using SELECTs against the file on the FundraiserId property
Hi Community!
I think everyone keeps the source code of the project in the repository nowadays: Github, GitLab, bitbucket, etc. Same for InterSystems IRIS projects check any on Open Exchange.
What do we do every time when start or continue working with a certain repository with InterSystems Data Platform?
We need a local InterSystems IRIS machine, have the environment for the project set up and the source code imported.
So every developer performs the following:
If you dockerize your repository this steps line could be shortened to this 3 steps:
Profit - no any hands-on for 3-4-5 steps which could take minutes and bring head ache sometime.
You can dockerize (almost) any your InterSystems repo with a few following steps. Let’s go!
Is it possible to stop and start a production from the command line?
If so please tell me the command and hopefully a link to the documentation for such a function.
I understand that you can have only one production per namespace; namespace has to be enabled for production.
Thanks
Let's say you have Python including variable-length arguments methods. How can you call it from ObjectScript?
deftest1(*args):return sum(args)
deftest2(**kwargs):
a1 = kwargs.get("a1",None)
a2 = kwargs.get("a2",None)
return a1+a2You can call this "a.py" from ObjectScript as below. For **kwargs argument, create Dynamic Object in ObjectScript and put it into methods with <variablename>... (3 dots) format.
set a=##class(%SYS.Python).Import("a")
write a.test1(1,2,3) ;; 6set req={}
set req.a1=10set req.a2=20write a.test2(req...) ;; 30
Do you