查找

文章
· 10 hr 前 阅读大约需 4 分钟

IRIS IO Utility: A Complete Guide to Smart Importing in VS Code

Hello Community! 👋
Welcome to the second part of the IRIS IO Utility series. This extension represents my submission for the InterSystems "Bringing Ideas to Reality" Contest 2025 and offers you an intuitive and powerful interface for importing and exporting data directly inside VS Code.

If you find this extension useful, please consider voting for me at the contest!


In the previous article, we covered:

  • Extension overview
  • ODBC driver configuration
  • Export capabilities

Now it’s time to dive into the Import Engine — designed to support:

  • CSV
  • TXT (with any delimiter)
  • JSON
  • XLSX

The extension features a smart inference layer that analyzes the input file and automatically suggests the optimal IRIS table data formats, providing guided, assisted data modeling.


Import Modes — Two Distinct Workflows

The extension supports two distinct scenarios:

  • Create New Table
  • Load into Existing Table

Option A — Import to New Table

This is ideal when:

  • You’re loading a new dataset
  • You want a clean start, with a fresh table and schema
  • You’re in a prototyping or exploratory phase

What happens:

  • The extension reads the file’s data and infers column types automatically
  • You can customize the types if needed
  • You choose a schema and table name
  • You optionally define indexes
  • Then data gets imported — all in a safe, atomic operation

Option B — Import into Existing Table

Perfect for:

  • Updating a table
  • Adding new rows
  • Replacing outdated data

Two actions are available:

  • Append — simply adds new rows from the file
  • Replace — clears the current table data and replaces it with the new data

Before importing, the extension validates that the file’s columns match the target table’s structure. If there are mismatches, it will notify you and abort — protecting you from schema drift or data corruption.


Creating a new table by the IRIS IO utility

Step 1 — Open the Import View and select a file

After connecting to an IRIS instance:

  1. Click the cloud-up arrow icon
  2. Click on the "Create New Table" tab
  3. Choose the file to import

Supported formats are CSV, JSON, TXT and XLSX.

Step 2 — File Analysis & Type Inference

After loading a file, the import engine automatically:

  • Samples the file’s values to guess column types
  • Determines the most likely SQL types
  • Converts them to valid IRIS SQL types
  • Shows sample data beneath each column 
  • Lets you manually override the type if needed

Detected types include:

  • INTEGER
  • BIGINT
  • NUMERIC
  • DOUBLE
  • VARCHAR (255 or 4000 characters)
  • CLOB
  • DATE
  • TIMESTAMP
  • BIT

The result of the analysis is shown in the "Column Type Mapping" section at the bottom of the import webview.

You can change the data type and look at a sample of the data:

Step 3 — Create custom indexes

The extension supports index creation while creating a new table. 

For each column, you can:

  • Check an “Index” checkbox if you know you’ll often query or filter by that column
  • Select index type. Available types are:
    • INDEX
    • BITSLICE
    • BITMAP
    • COLUMNAR (IRIS Analytics)
  • You can edit the index name — if left empty, the extension auto-generates one

Step 4 — Select Schema

When selecting a schema for the new table, you can choose to use a previously existing schema or to create a new schema.

When using a previously existing schema:

  • You can either specify a schema filter (optional) or just hitting the "Load Schemas" button to load all the available schemas within the selected namespace. 

When creating a new schema:

  • You can specify a new schema name in the format MySchemaName_SubSchemaName

Step 5 — Select Table Name

Once schema has been selected, you can specify a new table name. If a table with the same schema and table name already exists, the import will be aborted to prevent accidental overwriting.

Step 6 — Create Table & Import

Click on the Create button to create a new table and import data. 

The extension logs progress in the Output panel, and shows a popup notification when done. 


Loading data into an existing table by the IRIS IO utility

To inject new data into an existing table:

  1. Switch to the “Load into Existing Table” tab
  2. Select your file
  3. Choose target schema and table name
  4. Select import action: Append or Replace

The extension validates that the file’s columns align with the existing table schema and aborts if there are mismatches — safeguarding your data integrity.


Special case of TXT files: define the correct delimiter

When importing TXT files, the extension allows you to specify a custom delimiter to ensure the file is parsed correctly. This is especially useful when working with unconventional separators such as pipes (|), semicolons (;), tabs, or multi-character delimiters. Selecting the correct delimiter guarantees proper column detection and prevents misaligned or corrupted data during the import process.


Final Thoughts

The Import engine transforms IRIS IO Utility from a simple helper into a real data engineering tool.

It handles:

  • Type inference
  • Schema building
  • Index creation
  • Data loading
  • Diagnostic logging

All inside VS Code — clean, discoverable, and convenient.

Together with the Export engine, IRIS IO Utility provides a complete, modern, developer-friendly IO workflow for InterSystems IRIS.

If you enjoyed this feature and find IRIS IO Utility useful, please vote for it in the InterSystems Contest!🚀

讨论 (0)1
登录或注册以继续
公告
· 13 hr 前

¡La Comunidad de Desarrolladores cumple 10 años!

Hola Comunidad:

El 7 de diciembre de 2025, la Comunidad de Desarrolladores de InterSystems celebró oficialmente su décimo aniversario. 🥳🎉

Y ahora rendimos homenaje a esta década de aprendizaje, colaboración, resolución de problemas y avance de las tecnologías de InterSystems. Tanto si habéis estado aquí desde el principio como si os habéis unido recientemente, gracias por vuestras contribuciones, preguntas, ideas y apoyo. Este logro os pertenece a todos vosotros 💖. Habéis construido esta comunidad hasta lo que es hoy, y estamos realmente agradecidos.

Como parte de la celebración, os invitamos a participar en un vídeo especial de aniversario. Y vaya si cumplisteis. Gracias a todos los que dedicasteis tiempo a compartir vuestros saludos, recuerdos y palabras amables.

¡Por otros 10 años más de innovación y colaboración! 💙

PD: Dejad un comentario si os habéis visto en los vídeos de recurso 😉


Permaneced atentos: esto es solo el comienzo. Muy pronto llegarán más momentos destacados y sorpresas del aniversario.

讨论 (0)1
登录或注册以继续
问题
· 13 hr 前

IRIS OAuth2 Client - "openid" scope error

I need to connect IRIS to a third-party FHIR server which in turn is connected to Keycloak.

For machine-to-machine communications, client credentials grants should be used. I don't know why exactly but the FHIR server requires access tokens to contain the "openid" scope, otherwise it returns 401 (unauthorized).

If the access token returned by Keycloak contains that scope, IRIS complains about ""ERROR #8859: Unsupported response to access token request: OpenID Connect is not supported for password and client credentials grant type". The error is produced by the OAuth2.Response class, line 393:

If openid {
    $$$SysLog(3,"OAuth2","[OAuth2.Response:ProcessParsedResponse]","OpenID Connect is not supported for password and client credentials grant type")
    Set sc=$$$ERROR($$$OAuth2ResponseUnsupported,"OpenID Connect is not supported for password and client credentials grant type")

I'm just curious what's the purpose of this check?

2 条新评论
讨论 (2)3
登录或注册以继续
问题
· 14 hr 前

Your Trusted Cheap Air Ticket Partner | Book Flights Hassle-Free

Finding affordable air travel has become one of the biggest priorities for today’s travelers. Whether you’re planning a family vacation, a business trip, or a spontaneous weekend getaway, everyone wants to secure the best flight deals without overspending. With fluctuating airline prices, competitive routes, and endless booking platforms, choosing the right place to book can significantly impact your travel budget. This is where ConfirmationTickets.com steps in as your trusted partner for booking cheap flights and securing affordable airline tickets effortlessly.

In this detailed guide, you will discover how ConfirmationTickets.com helps travelers find low-cost flights, the benefits of booking through the platform, and smart hacks to stretch your travel budget further.


Why Booking Cheap Flights Matters More Than Ever

With the global rise in travel demand, airline ticket prices often fluctuate unpredictably. For the budget-conscious traveller, every rupee saved on airfare can be used to enhance the travel experience—whether it’s better accommodations, shopping, sightseeing, or dining. When you choose a platform designed to filter and find the best deals in seconds, the entire travel planning journey becomes easier and more enjoyable.

ConfirmationTickets.com stands out because it understands the modern traveller. The platform is user-friendly, offers transparent pricing, and brings you real-time deals from multiple airlines—ensuring that you always pay the lowest possible price for your next trip.


Why Choose ConfirmationTickets.com for Cheap Airline Tickets?

Finding a reliable portal for flight bookings can be challenging. Here’s what makes ConfirmationTickets.com one of the best choices for travelers:

1. Real-Time Flight Deals

Airline prices change multiple times a day. ConfirmationTickets.com tracks these fluctuations and updates prices instantly. This helps travelers book at the right time and avoid overpaying.

2. Compare Multiple Airlines in One Click

The platform aggregates flight options from both domestic and international airlines. Whether you’re travelling within India or flying abroad, you can easily compare prices, flight duration, layovers, and baggage rules before choosing the best deal.

3. No Hidden Charges

One of the biggest frustrations travelers face is hidden fees during checkout. ConfirmationTickets.com maintains transparent pricing, so what you see is what you pay.

4. Easy Booking Process

The website is designed for simplicity and speed. Within minutes, you can search, compare, and book your ticket without hassle.

5. Exclusive Discounts & Promo Offers

The platform frequently offers special discounts, promotional codes, and seasonal deals. This makes it even easier to book cheap flights and save more.


How to Book Cheap Flights on ConfirmationTickets.com

Booking affordable flights isn’t just about luck—it's about strategy. Here’s how you can maximize your savings:

1. Be Flexible with Travel Dates

Airfare can vary significantly depending on the day and season. If you can travel a day earlier or later, you may find cheaper options immediately.

2. Book in Advance

For popular routes, ticket prices rise as the travel date approaches. Booking 30–45 days before departure can help you secure low fares.

3. Choose Off-Peak Travel Seasons

Flying during festivals, long weekends, and holidays often costs more. Consider traveling during shoulder seasons for big savings.

4. Turn On Alerts

Use price alerts on ConfirmationTickets.com to get notified when fares drop for your preferred route.

5. Compare multiple airlines

Sometimes the difference between two airlines can be significant. Always compare before booking to ensure you’re choosing the best value option.


Domestic Flight Bookings Made Easy

India’s domestic travel market is booming, and millions of travellers fly every day for work, leisure, and family visits. ConfirmationTickets.com offers competitive prices for major domestic routes such as

  • Delhi → Mumbai
  • Bengaluru → Delhi
  • Kolkata → Hyderabad
  • Chennai → Pune
  • Jaipur → Goa
  • Ahmedabad → Bengaluru

Whether it’s a short business trip or a relaxing beach vacation, the platform provides quick access to the best domestic flight deals.


International Flights at the Best Prices

Travelling abroad doesn’t have to be expensive. With smart planning and a reliable platform like ConfirmationTickets.com, you can explore top destinations without worrying about high ticket prices.

Popular international routes available at affordable rates include:

  • India → Dubai
  • India → Singapore
  • India → Thailand
  • India → Qatar
  • India → Malaysia
  • India → Europe

The portal highlights major airlines along with their best fare options, helping you choose the most convenient and budget-friendly flight.


Top Benefits of Booking with ConfirmationTickets.com

1. 24/7 Customer Support

Whether you need help modifying your booking, understanding travel restrictions, or checking airline policies, the support team is always available.

2. Safe & Secure Payments

The platform uses encrypted payment gateways to ensure your transactions are completely secure.

3. Fast Refunds and Easy Cancellations

Plans can change, and ConfirmationTickets.com offers smooth refund processes depending on airline policies.

4. Mobile-Friendly Booking

You can search and book flights directly from your mobile device, making it convenient for travelers on the go.


Travel Smart With These Additional Tips

To enhance your savings further, consider these expert recommendations:

  • Avoid last-minute bookings unless necessary.
  • Check nearby airports for cheaper alternatives.
  • Use incognito mode to avoid dynamic price increases.
  • Avoid too many layovers unless the savings are worth it.
  • Check airline baggage rules before booking to avoid extra fees.

Final Thoughts

Booking affordable flights doesn’t have to be stressful or time-consuming. With the help of ConfirmationTickets.com, travelers can easily discover the best fares on both domestic and international flights. The platform combines convenience, transparency, and competitive pricing to simplify your travel planning process. Whether you’re a frequent flyer or planning your first trip, ConfirmationTickets.com ensures that you get the cheapest airline tickets without compromising on comfort or quality.

So, why wait? Start exploring deals today and make your next journey cost-effective, smooth, and memorable.

讨论 (0)1
登录或注册以继续
文章
· 16 hr 前 阅读大约需 7 分钟

ミラーリングの作成手順(プライマリ&バックアップフェイルオーバーメンバー構成)

これは InterSystems FAQ サイトの記事です。

この記事では、ミラーリングの構成方法をご紹介します。

2025.1のバージョンより、既存のミラーリングされたデータベースをミラーメンバーに追加する際、「ミラーメンバーからの自動データベースダウンロード」が可能となりました。
以前のバージョンでは、手動でのバックアップとリストアを行っていましたが(もしくはIRIS.datのコピー)、この機能を使用するとデータベース作成時に、別のミラーメンバーから自動的にダウンロードされます。大変便利な機能なので、ぜひお試しください。
※ こちらの問題 があるため、「自動データベースダウンロード」機能は最新バージョン 2025.1.2~ でお試しください。​​​​​


本記事では、「自動ダウンロード」の機能についても、あわせてご紹介します。

では、ミラーの構成手順をご紹介します。
今回ご紹介するのは、同期ミラーによるフェールオーバー(常にデータベースが同期されて複製、障害時に自動でフェールオーバー)構成です。
手順は以下になります。


1) それぞれのサーバで、ISCAgent の構成・起動

2) それぞれのサーバで、ミラーのサービスを有効化

3) 最初のフェイルオーバーメンバー(プライマリ)を構成・ミラーへデータベースの追加

4) 2番目のフェイルオーバーメンバー(バックアップ)を構成・ミラーメンバーからの自動データベースダウンロード



今回は、各設定を管理ポータルを使用して行う方法をご紹介します。

【今回のサンプル・ミラー構成について】

  プライマリフェイルオーバーメンバ バックアップフェイルオーバーメンバ アービター
ミラー名 TESTMIRROR TESTMIRROR  
ミラーメンバ名 MACHINEA MACHINEB  
IPアドレス 10.0.0.244 10.0.0.151 10.0.0.155

 

1) それぞれのサーバで、ISCAgent の構成・起動

それぞれのサーバでISCAgent を構成・起動します。
構成・起動方法は、OSごとに異なりますのでドキュメントをご覧ください。

 ※アービターを使用する場合、フェールオーバー構成と別のマシン(10.0.0.155)でISCAgent を開始します。
  ISCAgentのみインストールすることも可能です。
  ダウンロードは、WRCDirectから行えます。 例:ISCAgent-2025.1.2.374.0-win_x64.exe

 ※Windowsの場合は、Windows(管理)ツール > サービスで 名前=ISCAgent のサービスを開始、また自動開始を構成します(インストール後の既定は「手動」設定のため、OS再起動後は停止状態となります)。
    
 

2) それぞれのサーバで、ミラーのサービスを有効化

管理ポータル:
[システム管理] > [構成] > [ミラー設定] > [ミラーサービス有効]

 
 

3) 最初のフェイルオーバーメンバー(プライマリ:)を構成・ミラーへデータベースの追加

3-1.
最初にフェイルオーバメンバを登録するマシン(プライマリ:MACHINEA)で、TEST という名前の新しいネームスペースを作成し、参照するデータベースとしてTEST データベースをデフォルト設定の状態で作成します。

※こちらの手順では、「相互運用プロダクション用にネームスペースを有効化」はオフ(チェックなし)で作成します
 

3-2.
ミラーの作成画面で、以下の設定を行います。

管理ポータル:
 [システム管理] > [構成] > [ミラー設定] > [ミラーの作成]

ミラー情報 設定値 ミラーフェイルオーバメンバ情報 設定値
ミラー名 TESTMIRROR ミラーメンバ名 MACHINEA
SSL/TLS 使用 いいえ スーパーサーバアドレス MACHINEAのIP アドレス(デフォルトはコンピュータ名
10.0.0.244
アービター使用 はい(デフォルト) エージェントポート 2188(デフォルト)
  10.0.0.155 / 2188    
仮想IP 使用  いいえ(デフォルト)    


 

3-3.
TESTMIRROR へ TEST データベースを追加します。ミラーデータベース名には、TEST を使用します。

管理ポータル:
 [システム管理] > [構成] > [システム構成] > [ローカルデータベース]
 TEST の編集 → ミラーTESTMIRRORに追加 をクリック
  ※最初から作る場合は、データベースの作成時に「ミラーデータベース?はい」をチェック

     

3-4.
TESTMIRROR へ追加された TEST を確認します。

管理ポータル:
 [システムオペレーション] > [ミラーモニタ]  

 

4) 2番目のフェイルオーバーメンバー(バックアップ:MACHINEB)を構成・ミラーメンバからの自動データベースダウンロードを行います。

4-1.
2 番目にフェイルオーバメンバとするマシンで(MACHINEB)、フェイルオーバメンバとして、ミラーに追加するため以下画面を開きます。

管理ポータル:
 [システム管理] > [構成] > [ミラー設定] > [フェイルオーバとして参加]

 以下の情報を登録し、接続ボタンを押下する。

ミラー名 TESTMIRROR
他システムのエージェントアドレス 10.0.0.244(MACHINEA のIP アドレス)
ミラーエージェントポート 2188(デフォルト)
インスタンス名 IRIS(MACHINEA のインスタンス名)

 

 

「次へ」クリック

ミラーメンバ名 MACHINEB
スーパーサーバアドレス 10.0.0.151
エージェントポート 2188
ミラープライベートアドレス 10.0.0.151
エージェントアドレス 10.0.0.151

 

 

4-2.
ミラーモニターでフェイルオーバーメンバーのステータスを確認する

最初に設定したフェールオーバー メンバーで、[ミラー モニター] ページ ( [システム操作] > [ミラー モニター]) を表示
ミラー フェールオーバー メンバー情報領域には、2 つのフェールオーバー メンバーのミラー メンバ名とネットワーク アドレスが一覧表示されます。

 

4-3.
MACHINEBのミラーへのデータベースの追加のため、ミラーメンバ(MACHINEA)から自動データベースダウンロードを行います。

ダウンロードを開始するには、新しいメンバーまたは復元対象のメンバーにデータベースを作成し、2 番目のダイアログで、「ミラー データベース?」に対して「はい」を選択し、ミラー内のデータベースの名前を正確に入力します。

管理ポータル:
 [システム管理] > [構成] > [システム構成] > [ローカルデータベース]
より、データベースの新規作成を行い、以下のように設定します。

ミラーデータベース?はい
ミラー・データベース名:TEST

 

※この機能は、新規作成ミラーデータベースに対しては非常に便利ですが、元のデータベースのサイズが大きい場合は非常に時間がかかるため、注意が必要です。サイズの大きいデータベースの場合は従来の方法(バックアップ&リストア、もしくはiris.datのコピー)をお勧めします。

※外部/オンラインバックアップ・リストアについては、以下の記事で詳細手順を説明していますので、参考になさってください。
外部バックアップとリストアについて
オンラインバックアップとリストアについて

※バックアップからのリストアの場合、
 Limit restore to mirrored databases? →Yes でリストアします(リストア後、ミラーが有効化&キャッチアップされます)

 この場合、データベース定義も別途必要になります。
 データベース定義がない場合、ミラーモニタにて「見つからないミラー・データベース・レポート」にリストされます。
 データベースを作成していない場合、新規データベース作成することで、「ミラーされたデータベース」に追加されます。
 

4-4.
ミラーモニタで確認します。

 

こちらで、フェイルオーバーミラー構成は完了です。

詳細は以下のドキュメントをご覧ください。
ミラーの作成

讨论 (0)0
登录或注册以继续