9 Followers · 1.2K Posts

SQL is a standard language for storing, manipulating and retrieving data in relational databases.

Question Pierre LaFay · Feb 4, 2024

Hello everyone,

I am looking for the syntax or the way to use a class created in the "BNA" Namespace (my application) from the %SYS Namespace.

Here is the context:

I have a "BNA" application contained in the "BNA" NS, this application provides a user creation functionality. This feature creates both the user in a table in the application and in the Iris system.

I created an initialization script for my database to be able to reset it at will, this script starts by emptying the database of this data, then initializes the basic data.

9
0 651
Discussion Evgeny Shvarov · Oct 2, 2020

Hi VSCode users!

Just want to check with you, is this settings.json file ideal enough if I:

1. Want VSCode to connect to IRIS in docker?

2. Want to use VSCode SQL Tool?

The connection settings file:

{
    "files.associations": {
    
        "Dockerfile*": "dockerfile",
        "iris.script": "objectscript"
      },
    "objectscript.conn" :{
      "ns": "IRISAPP",
      "username":"_SYSTEM",
      "password": "SYS",
      "docker-compose": {
        "service": "iris",
        "internalPort": 52773
      }
    },
    "sqltools.connections": [
      {
        "namespace": "IRISAPP",
        "connectionMethod": "Server and Port",
        "showSystem": false,
        "previewLimit": 50,
        "server": "localhost",
        "port": 32770,
        "askForPassword": false,
        "driver": "InterSystems IRIS",
        "name": "objectscript-docker",
        "username": "_SYSTEM",
        "password": "SYS"
      }
    ]

}
2
2 775
Announcement Emily Geary · Feb 29, 2024

Hi All,

On February 8, 2024, we asked for input from the IRIS community regarding exam topics for our InterSystems IRIS Developer Professional exam. We will close the window for providing feedback on the exam topics on Friday, March 8, 2024. If you would like to have your say in what topics are covered on the exam, this is your last chance!

How can I access the survey?

0
0 185
Article Dan Pasco · Feb 22, 2024 4m read

There is an interesting new feature in the recently announced 2024.1 preview, JSON_TABLE. JSON_TABLE is one of a family of functions introduced by the 2016 version of the SQL Standard (ISO Standard, published in early 2017). It allows for JSON values to be mapped to columns and queried using SQL. JSON_TABLE is valid in the FROM clause of some SQL statements.

The syntax of JSON_TABLE is quite large, allowing for exceptional conditions where the provided JSON values don't match expectations, nested structures and so on.

The basic syntax is quite straightforward.

4
3 582
Article Dmitry Maslennikov · Sep 18, 2023 7m read

Nowadays so much noise around LLM, AI, and so on. Vector databases are kind of a part of it, and already many different realizations for the support in the world outside of IRIS. 

Why Vector?

  • Similarity Search: Vectors allow for efficient similarity search, such as finding the most similar items or documents in a dataset. Traditional relational databases are designed for exact match searches, which are not suitable for tasks like image or text similarity search.
  • Flexibility: Vector representations are versatile and can be derived from various data types, such as text (via embeddings like Word2Vec, BERT), images (via deep learning models), and more.
  • Cross-Modal Searches: Vectors enable searching across different data modalities. For instance, given a vector representation of an image, one can search for similar images or related texts in a multimodal database.

And many other reasons.

So, for this pyhon contest, I decided to try to implement this support. And unfortunately I did not manage to finish it in time, below I'll explain why.

7
3 1375
Announcement Emily Geary · Feb 8, 2024

Hello Everyone,

The Certification Team of InterSystems Learning Services is developing an InterSystems IRIS Developer Professional certification exam, and we are reaching out to our community for feedback that will help us evaluate and establish the contents of this exam.

Note: This exam will replace the current InterSystems IRIS Core Solutions Developer Specialist exam when it is released. Please note from the target role description below that the focus of the new exam will be more on developer best practices and a lot less on the ObjectScript programming language.

How do I provide my input?

0
1 443
Article Sylvain Guilbaud · Feb 1, 2024 5m read

Hello Community,

SQL language remains the most practical way to retrieve information stored in a database.

The JSON format is very often used in data exchange.

It is therefore common to seek to obtain data in JSON format from SQL queries.

Below you will find simple examples that can help you meet this need using ObjectScript and Python code.

ObjectScript : using Dynamic SQL with %SQL.Statement

1
4 603
Article Muhammad Waseem · Oct 15, 2021 2m read

In this article I will demonstrate the following :

  • Update ReferencesRange(OBX:7) against ObservationIdentifier(OBX:3.1)[TestCode] from database by using custom utility function
  • Update Abnormal Flag(OBX:8) against ObservationIdentifier(OBX:3.1)[TestCode]  and ObservationValue(OBX:5)[Result] from database utility function
  • Route Message based on Abnormal Flag(OBX:8)

Below is the primary and transformed HL7 2.

6
0 1034
Question Logan Kitchen · Feb 5, 2024

I am exporting data from Cache using the SQL export wizard. This is on a docker image of Cache hosted on a Linux server.
I select my database, schema, and table, make sure that all columns are being exported, check other settings, and then finish the export.
All server settings look correct and permissions are rwe on the directory. I have tried various directories, including a system level directory. I tried creating the file before I do the export in case there was an issue with creating the files, and I also made sure the created files had rwe permisisons.

0
0 202
Question Tani Frankel · Feb 1, 2024

Is it possible to authenticate an xDBC (ODBC/JDBC) connection to InterSystems IRIS via (a 3rd party) OAuth server?

For REST APIs this is possible, but could this be achieved with OAuth? 

Out-of-the-box the ODBC/JDBC Drivers don't seem to have this option, but maybe some custom code could enable this? perhaps via Delegated Authentication and some OAuth classes customization, or some other way?

Has anyone done this already and can share how it was implemented, or someone with some guideline suggestions?

0
0 235
Question James Casazza · Jan 23, 2024

Tring to Performing following script in IRIS but do not know how to format Date. Normally, I would use TO_DATE or TO_TIMESTAMP in the actual queue statement below, but since I'm using Prepared Statements, I do not know how to format date in 'values' that is being used in the %Execute. It generates errors. I'm updating an Oracle Database via a SQL JDBC Gateway Connection. Does anyone know how to pass in Dates?

5
0 373
Question Michael Wood · Jan 19, 2024

I am trying to do a INSERT OR UPDATE SQL query, but the query always inserts new rows to table. Is it how I defined the table or am I mising something in the query?

table defines as,

Class AH.AHCOMMON.Tables.HospDepartmentData Extends %Persistent [ Language = objectscript ]
{

Property Tablespace As %Library.String(MAXLEN = 50) [ SqlColumnNumber = 2 ];

Property DepartmentId As %Library.String(MAXLEN = 50) [ SqlColumnNumber = 3 ];

Property TimezoneName As %Library.String(MAXLEN = 100) [ SqlColumnNumber = 4 ];

Property PatientDepartmentName As %Library.

1
0 261
Question Steve DiQuattro · Jan 17, 2024

Customer has a connection set up to connect to an ISC sftp server but it keeps failing the connection with:

ERROR <Ens>ErrOutConnectFailed: SFTP Connect failed for sftp.il.intersystems.com:22/NPPES/SSL='!SFTP'/PubKey=''/PrivKey=''
with error ERROR #7500: SSH Connect Error '-2146430933': SSH Error [8010102B]: Failed getting banner [FFFFFFFF8010102B] at Session.cpp:238,0

A manual connection can be made successfully and I have verified that the credentials are correct. The Connection Settings are:

SSL Configuration - !SFTP

UsePASV - checked

I'm not sure how to interpret the error.

1
1 325
Question Ephraim Malane · Jan 12, 2024

Hi Community,

I am attempting to create a new table by executing a SELECT statement that involves joining multiple tables. However, I encountered an error during execution: '( expected, AS found^Combined AS.' I would also like to create a cube based on this SQL table. However, during the cube creation process, I am prompted to specify a source class, and I'm unsure which class to use as it requires an existing class. Could you please help me identify the issue with the table creation, and provide guidance on selecting the appropriate source class for the cube creation?

1
0 238
InterSystems Official Benjamin De Boe · Jan 11, 2024

InterSystems is pleased to announce the General Availability of InterSystems IRIS Cloud SQL and InterSystems IRIS Cloud IntegratedML, two foundational services for developing cloud-native solutions powered by the proven, enterprise-class performance and reliability of InterSystems IRIS technology. 

InterSystems IRIS Cloud SQL is a fully managed cloud service that brings the power of InterSystems IRIS relational database capabilities used by thousands of enterprise customers to a broad audience of application developers and data professionals.

2
0 417
Question Stefan Cronje · Dec 15, 2023

HI *,

So last night I was doing a deployment which had a query to select from a large dataset of joined tables, to iterate through and populate data in a new table.

This was done in a classmethod using embedded SQL and the %PARALLEL keyword.
On a testing environment with the same dataset, this worked perfectly a few days earlier.

It was going to be a long-running process, so we started it from a csession using the JOB command.
Then get the PID with $zchild, go to Processes and monitor it there.
It would terminate after a minute or so with a <STORE> error.
The per process memory is set at 1GB.

2
0 348
Question Sylvain Guilbaud · Aug 23, 2023

Is it planned that LOAD DATA takes into account several DATE/DATETIME formats with, for example, a parameter indicating the format used in the source data?

example :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
3
0 280
Article Evgeny Shvarov · Apr 4, 2023 2m read

Hi developers!

As you know InterSystems IRIS besides globals, object, document and XML data-models also support relational where SQL is expected as a language to deal with the data.

And as in other relational DBMS InterSystems IRIS has its own dialect.

I start this post to support an SQL cheatsheet and invite you to share your favorites - I'll update the content upon incoming comments.

Here we go!

26
7 1727
Article Sylvain Guilbaud · Jan 8, 2024 3m read

Hello Community,

When using an SQL type Business Service, it may happen that we need to replay certain rows from the source table.

Let's take as an example the Business Service "from customer SQL" using the generic class EnsLib.SQL.Service.GenericService

Different cases arise, depending on the settings used on this Business Service.

First case :

If the Business Service only uses a KeyFieldName

In this case, to reprocess IDs 123, 456 and 789, it will be enough to delete them from the global ^Ens.AppData for the Business Service concerned on the "adaptor.sqlrow" reference:

kill^Ens"from customer SQL"
0
1 477
Article Brendan Bannon · Dec 27, 2016 8m read

The Art of Mapping Globals to Classes (4 of 3)

The forth in the trilogy, anyone a Hitchhikers Guide to the Galaxy fan?

If you are looking to breathe new life into an old MUMPS application follow these steps to map your globals to classes and expose all that beautiful data to Objects and SQL.

If the above does not sound familiar to you please start at the beginning with the following:

The Art of Mapping Globals to Classes (1 of 3)

The Art of Mapping Globals to Classes (2 of 3)

The Art of Mapping Globals to Classes (3 of 3)

This one is for you Joel!

7
0 2370
Question Cyril Grosjean · Jan 2, 2024

Hi,

I'm trying to access to my datas stored in a RecordMap from SQLAlchemy, and I need to access to any tables already created before using SQLAlchemy.

Here is some part of my code :

TestBase:

classTestBase(DeclarativeBase)

Engine creation and entities binding :

bases = {
    "TEST"create_engine_and_session

My RecordMap entity :

class"extend_existing"

Each part of my code are in different files, the "User_BastideRecord.

0
0 186
Article Brendan Bannon · Dec 27, 2016 8m read

Mapping Examples

Clearly if you have a fourth article in the trilogy you need to go for the money grab and write the fifth, so here it is!

Note:  Many years ago Dan Shusman told me that mapping globals is an art form.  There is no right or wrong way of doing it.  The way you interpret the data leads you to the type of mapping you do.  As always there is more than one way to get to a final answer.  As you look through my samples you will see there are some examples that map the same type of data in different ways.

15
1 2829
Question Stefan Cronje · Dec 21, 2023

Hi,

The system I am working on processes large numbers of records. Inserts, updates and so forth. There are multiple processes that can potentially work on the same table at the same time. 

It is an almost impossible task to try and time these processes to not run at the same time, due to volumes, SLAs, etc.

Every now and then there are a few locking issues, Not many considering the volumes. It is just a bit of a nuisance as we need to reprocess these records later.

All the selects on the processes run at IsolationMode 0 and the transactions are kept as short as possible.

6
0 447
Question Michael Lundberg · Dec 20, 2023

Hello!

I wonder how to select a conditional value from a Table column that has lists of values?
Example: I have a table in the database that looks like below:

ID Itemname IDList
1 TestItem 1 7 10 17

For example, I want to know which Itemname it is for number 10 that is in the IDList. What should this SQL syntax look like? I have tried %INLIST and other things but only get blank value. How should the SQL-syntax for that query look like?

Greatful for all tips.
Regards,
Michael

4
0 1091