#InterSystems IRIS

1 フォロワー · 1.3K 投稿

InterSystems IRISは総合データプラットフォームです

    InterSystems IRISは、企業にとって最も価値のある資産(データ)の取得、共有、理解、そしてデータに基づく行動のために必要なすべてのものを提供します。

    完全なプラットフォームである InterSystems IRIS は、複数の開発技術を統合する必要がありません。より少ないコードで開発が可能で、そのアプリケーションは、システムリソース、メンテナンスなども少なくて済みます。

記事 Megumi Kakechi · 8月 15, 2024 2m read

通常、Caché でエクスポートしたクラスやルーチンをIRISにインポートすることは可能ですが、IRISよりエクスポートしたクラスやルーチンを Caché にインポートすることはできません。

Caché にインポートしようとすると、以下のようなエラーになります。

USER>do $system.OBJ.Load("C:\temp\test.xml")
 
ロード開始 07/23/2024 16:50:42
ファイル C:\temp\test.xml を xml としてロード中
ERROR #6301 行: 2 オフセット: 117 これはCacheエクスポートファイルではありません。インポートできません。
読込時に 1 個のエラーを検出しました。
 


どうしても、古いバージョンにインポートする必要がある場合、「/exportversion」というエクスポート修飾子を使用することが可能です。

使用方法は以下のようになります。/exportversion には、エクスポートしたルーチンをインポートしたい環境のCacheバージョンを指定します。

USER>write $SYSTEM.OBJ.Export("test.mac","c:\temp\test2.xml","/exportversion=cache2018.
2
0 202
記事 Mihoko Iijima · 8月 21, 2024 3m read

開発者の皆さんこんにちは!

9月2日から、🖋第2回 InterSystems Japan 技術文書ライティングコンテスト🖋 が始まります!応募の準備はばっちりでしょうか?👀

この記事では、昨年開催したコンテストに応募いただいた作品を審査員コメントを添えてご紹介します。

(審査員コメントは昨年11月に開催したミートアップ内で行ったコンテスト表彰式で紹介した内容です)

@Akio Hashimoto さんが投稿された DockerにIRISを構築する簡単なチュートリアル

審査員コメント:

  • IRISのコンテナを作成する手順を必要十分に、かつシンプルに説明されている。
  • まずはコンテナ版IRISを動かしてみたい!と思っている方に最適なチュートリアルだと思いました。

@Junichi Sakata さんが投稿された  Embedded Pythonの使い所は?

審査員コメント:

  • Embedded Pythonを使うと何がうれしいのか?について、具体的に試された内容とまとめがかかれていてとても参考になる記事

@Yuji Ohata さんが投稿された AWS環境を用いたCI/CDの仕組みの紹介。

審査員コメント:

  • 普遍的なトピック(CI/CD)を、IRISでのケースに当てはめながら分かりやすく説明されていた。
0
0 137
記事 Megumi Kakechi · 8月 20, 2024 3m read

これは InterSystems FAQ サイトの記事です。
messages.logに「Updates may become suspended due to low available buffers」のエラーが出ている場合、このインスタンスのバッファ利用可能サイズが低下していることが考えられます。

上記メッセージが頻繁に出力するようであれば以下の対処をご検討ください。

  •  データベースキャッシュの設定値が小さければ、値を増やします(ただし、その分物理メモリに余裕が必要です。)
  •  データベースキャッシュの設定値が十分に大きな設定値であれば、ライトデーモンのバッファの書き込み処理でのディスク性能不足の可能性が考えられる為、更新処理を分散して時間当たりの更新量を減らすか、ディスク装置の性能を上げます。 ※ストレージのメンテナンス(スナップ等によるバックアップ)や、他のサーバによるI/O負荷などによる影響も考えられます。


メッセージの意味は以下のようになります。

0
0 137
InterSystems公式 Megumi Kakechi · 8月 16, 2024 2m read

インターシステムズは、非常にまれな状況下で、マルチボリュームデータベースでデータベース破損または <DISKHARD> エラーが発生する可能性がある不具合を修正しました。危険性があるのは、未使用領域削除(Truncate)を行ったマルチボリュームデータベースのみです。

この問題は、以下の製品およびそれらベースとしたその他のインターシステムズ製品に存在します:

  InterSystems IRIS                       2024.1, 2024.1.1, 2024.2
  InterSystems IRIS for Health    2024.1, 2024.1.1, 2024.2
  HealthShare Health Connect    2024.1, 2024.1.1, 2024.2

上記以外の HealthShare 製品はこの問題の影響を受けません。

インターシステムズは、この不具合に関するお客様からの報告を受けていませんが、この問題を回避するために、以下の一時的な緩和策を推奨します:

  • マルチボリュームデータベースで未使用領域削除をしない。
  • 最後にデータベースをマウントした以降に未使用領域削除をしたシングルボリュームまたはマルチボリュームデータベースに対して、新しいボリュームを作成しない。
0
0 75
記事 Toshihiko Minamoto · 8月 16, 2024 12m read

Visual Studio Code(VSCode)は、市場で最も一般的なコードエディターです。 Microsoft によって制作され、無料 IDE として配布されています。 VSCode は ObjectScript などの多数のプログラミング言語をサポートしており、2018 年までは Atelier(Eclipse ベース)もサポートしていました。 InterSystems 製品開発の主なオプションの 1 つとして考えられていましたが、 2018 年、InterSystems 開発者コミュニティが VSCode のサポートを発表した際に、関連する InterSystems のプロユーザーらが実際にこのエディターを使用し始め、以来、特に新しいテクノロジー(Docker、Kubernetes、NodeJS、Angular、React、DevOps、GitLab など)を使用する開発者の間でその使用が続いています。 VSCode の一番の機能の中にはデバッグ機能が挙げられます。 そこで、この記事では、クラスコードや %CSP.REST コードなどの ObjectScript コードをデバッグする方法を詳しく紹介します。

 

デバッグとは?

デバッグとは、ObjectScript コードに含まれる「バグ」と呼ばれるエラーを検出して解決するプロセスを指します。

0
1 438
InterSystems公式 Seisuke Nakahashi · 8月 14, 2024

InterSystems IRIS 2024.3 と InterSystems IRIS for Health 2024.3 の最初の開発者プレビューが WRC プレビューダウンロードページ に公開されました。コンテナ版は InterSystems コンテナレジストリ から入手いただけます。コンテナは latest-preview とタグ付けされています。

0
0 64
お知らせ Toshihiko Minamoto · 8月 13, 2024

%UnitTest framework を使用してユニットテストを構築したことがある場合、またはこれから構築しようとお考えの場合は、InterSystems Testing Manager をご覧ください。

VS Code を離れることなく、ユニットテストの閲覧、実行またはデバッグ、過去の実行結果の表示が可能になりました。

InterSystems Testing Manager は、ObjectScript 拡張機能がサポートするソースコード場所のパラダイムに対応しています。 ユニットテストクラスは、VS Code のローカルファイルシステム('client-side editing' パラダイム)またはサーバーネームスペース('server-side editing')のいずれかでマスターできます。 いずれの場合でも、実際のテストの実行は、サーバーネームスペースで発生します。

フィードバックをぜひお送りください。

0
0 102
記事 Akio Hashimoto · 7月 5, 2024 2m read

IRISでPythonを扱う時に、既存の%DynamicObject型の値をそのまま利用したいと思うのですが、Embedded Pythonは自動で%DynamicObjectをdict型にはしてくれません。親和性はとてもあるのですが。。。

そこで、既存プログラムで生成した%DynamicObject型の値をPython側、特に外部のPythonファイル側でdict型を期待している関数に利用するにはどうすれば良いか。

少しスマートではありませんが、%DynamicObjectを一旦JSON文字列に置き換え、Embedded Python 内でJSON文字列からdict型に変換する方法しかないようです。
以下が、その手順です。

Set data = {}
Set data.name = "hanako"
Set data.age = 20

Do ..testPython(data)

ClassMethod testPython(arg As %DynamicObject) [ Language = python ]
{
    import json
    import pythonfile

    data = json.loads(arg._ToJSON())
    pythonfile.test(data)
}

pythonfi

5
0 274
InterSystems公式 Megumi Kakechi · 8月 7, 2024

InterSystems API Manager (IAM) のバージョン 2.8.4.11 & 3.4.3.11 が公開されました。 これらは、長期的にサポートされている IAM の 2 つのバージョンの最新版です。これらのリリースには重要な修正が含まれており、すべてのお客様にアップグレードをお勧めします。

IAM 3.0または3.2をお使いのお客様は、これらのバージョンのサポートがまもなく終了するため、3.4.3.11にアップグレードすることをお勧めします。

IAM は、InterSystems IRIS サーバとアプリケーション間の API ゲートウェイであり、HTTP ベースのトラフィックを効果的に監視、制御、管理するためのツールを提供します。IAM は、InterSystems IRIS ライセンスの無償アドオンとして利用できます。

IAMは、WRCソフトウェア配布サイトのComponentsエリアからダウンロードできます。

 IAM のダウンロード、インストール、使用開始方法については、 インストール・ガイド を参照してください 。InterSystems IRIS での使用に関する詳細な情報については IAM Version 3.4 Guide を参照してください。パートナーであるKong社では、Kong Gateway (Enterprise) 3.

0
0 74
記事 Tomoko Furuzono · 8月 4, 2024 1m read

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

管理ポータルのグローバル変数表示ページでは、サブスクリプトレベルの範囲を指定して表示することが可能です。

各サブスクリプトレベルで、 <開始値>:<終了値> のように指定します。
開始値を省略すると先頭から終了値まで、終了値を省略すると指定値から最後までのグローバル変数を表示します。

《例》

(グローバル全体)

 

(第2サブスクリプトが"b"のデータだけを表示)
 

 

(第3サブスクリプトが300以上のデータを表示)
 

 

(第3サブスクリプトが50以下のデータを表示)
   

 

下記ドキュメントページも併せてご確認ください。
【ドキュメント】グローバル・データの表示
 

0
0 93
記事 Tomoko Furuzono · 8月 4, 2024 1m read

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

区切り識別子は、区切り文字で囲まれた一意の識別子です。
InterSystems SQL は、その区切り文字として二重引用符 「"」 をサポートしています。
一方、リテラル値を区切る場合は、一重引用符「'」を使用します。
例えば、下記のSQLにおいて、
①は、Nameの値が「AAA」という文字列である、という検索条件と解釈されますが、
②は、Name列 = AAA列、という結合条件と解釈されます。※実際にAAA列が無ければエラーとなります。

select * from Samle.Person
where Name = 'AAA'


select * from Sample.Person
where Name = "AAA"


リテラル値(文字列、数値)を示す区切り文字として二重引用符「"」を使用したい場合は、
下記を実行し、この区切り識別子サポートするためのオプションを無効にします。

//現在の状態を確認する
USER> write $SYSTEM.SQL.Util.GetOption("DelimitedIdentifiers")
1
//0=「無効」にセット
USER>do $SYSTEMSQL.Util.
0
0 92
記事 Tomoko Furuzono · 8月 4, 2024 1m read

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

既定では、InterSystems製品で表すことのできる日時の最小値は、1840年12月31日 0時0分0秒 です。

USER>write $ZDATETIME("0,0")
12/31/1840 00:00:00

 ですが、アプリ内での用途や、他DBからの登録などで、それよりも前の日付時刻を登録する必要がある場合があります。
その場合には、日付日時のプロパティに、MINVAL(最小値)を設定することでサポートできます。
下記は、%DateTime型、%TeimaStamp型のプロパティに、最小値:西暦1年1月1日0時0分0秒と設定したものです。

Property TestDateTime As %DateTime(MINVAL = "0001-01-01 00:00:00");
Property TestTimeStamp As %TimeStamp(MINVAL = "0001-01-01 00:00:00");

※2023.3および2024.1以降のバージョンでは、%DateTime型のMINVALの設定は必要なく、1840年12月31日 0時0分0秒より前の日時でも問題なく登録できます。%TimeStamp型の場合は、引き続き設定が必要です。

0
0 82
記事 Mihoko Iijima · 2月 29, 2024 5m read

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

新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。

インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。)

これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。

※ 2024/8/2: 2024.1以降から利用できる方法を追加しました。

 

2024.1以降

CREATE INDEXのDEFERオプションを使用します(オプションを付けないCREATE INDEX文では、作成時にインデックスの再構築も同時に行われます)。

1
0 362
InterSystems公式 Ayumu Tanaka · 8月 1, 2024

インターシステムズは InterSystems IRIS Data PlatformInterSystems IRIS for Health, HealthShare Health Connect バージョン 2024.2 をリリースしました。

リリースハイライト

2024.2 は Continuous Delivery(CD)リリースです。
2024.2 には多くのアップデートや拡張機能が追加されています。

開発者向け機能の強化

  • スタジオの削除 - 本リリース以降、Windows キットにはスタジオが含まれなくなります。つまり、このキットを使用した新規インストールではスタジオがインストールされません。既存のインスタンスをバージョン 2024.2以降にアップグレードした場合は、インスタンスの bin ディレクトリから スタジオが削除されます。スタジオをこれからも利用されたい方は、WRC 配布ページから 2024.1 スタジオの独立したコンポーネントをダウンロードできます。
  • 外部テーブル の正式サポート - 2024.2 リリースでは、早期アクセスユーザからのフィードバックに対応しており、メタデータ管理の改善、述語プッシュダウンの改善、外部データをIRIS SQLテーブルに投影するのではなく取り込む LOAD DATA コマンドとのさらなる調整などが行われています。
0
0 88
InterSystems公式 Seisuke Nakahashi · 8月 1, 2024

インターシステムズは、InterSystems IRIS、InterSystems IRIS for Health、HealthShare Health Connect のメンテナンスバージョン 2024.1.1 をリリースしました。2024.1.1 は 2024.1.0 に対するバグフィックスを提供しています。詳細な情報は、以下のページをご参照ください(すべて英語版です)

InterSystems IRIS
InterSystems IRIS for Health
HealthShare Health Connect
 

【キットのご案内】
本製品は、従来からのインストーラパッケージ形式と、コンテナイメージ形式をご用意しています。その一覧は、サポートプラットフォームページをご覧ください。

インストーラパッケージは WRC Direct から入手できます。InterSystems IRIS、IRIS for Health は IRIS ダウンロードページから、HealthShare Health Connect は HealthShare ダウンロードページから、それぞれ入手してください。

コンテナイメージは InterSystems Container Registry から入手できます。コンテナイメージには 2024.1 のタグが付けられています。

0
0 83
お知らせ Rie Tokue · 7月 30, 2024

 

 

ご好評をいただいておりますインターシステムズ開発者向けオンラインセミナー、9月は以下のテーマで開催いたします。

 

テーマ「InterSystems IRIS® サーバーとデータの守り方入門」

日時:9月6日(金)13:30~14:00 (参加費無料・事前登録制)

ご登録はこちらから

[概要]

はじめはユートピアになると考えられていたサイバー空間にも多様な脅威が出現し、日々変化し続けています。

多くの分野で活用されている IRIS と IRIS for Health、より厳しいセキュリティ要件は避けられない未来とも言えるでしょう。

本セッションではIRISインスタンスと管理するデータを保護する方法について概要をご説明します。

[こんな方にお勧め]

IRISの管理機能に興味ある方
IRISを使用したソリューションを設計される方

ご多用中とは存じますが、皆様のご参加をお待ち申し上げております!

0
0 99
記事 Megumi Kakechi · 7月 28, 2024 2m read

これは InterSystems FAQ サイトの記事です。
通常SQLCODE -114(一致する行が既に別のユーザにロックされています)のエラーはロックが競合した場合に発生します。

こちらはレコードロック競合があったり、ロック閾値を超える更新を行いテーブルロックに昇格した際に、そのテーブルレコードに対して別のプロセスよりSelectを行い共有ロックを取ろうとして失敗した(ロック待ちがタイムアウトとなった)場合に発生します。

Selectで共有ロックを取る場合というのは、IRIS の ISOLATION LEVEL がREAD COMMITTED(デフォルトはREAD UNCOMMITTED)で、Selectを行った場合です。

例:Sample.Personテーブルにテーブルロックがかかった状態で以下を実行する場合

USER>:sql
SQL Command Line Shell
----------------------------------------------------
 
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
0
0 189
記事 Megumi Kakechi · 7月 23, 2024 4m read

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

JDBC および ODBC 経由でInterSystemsIRISから外部データベースにアクセスしたい場合、SQLゲートウェイを使用しリンクテーブルを作成して接続できます。

2023.1以降のバージョンでは、リンクテーブルに加えて、外部テーブル/FOREIGN TABLE を使用することが可能となりました(2024.1時点で実験的機能)。

外部テーブルというのは、物理的に別の場所に保存されているデータを IRIS SQL に投影する非常に便利な機能です。
外部テーブルを使用する場合は、Java(2023.1の場合は1.8~)を事前にインストールし、JAVA_HOME環境変数を設定するだけで、簡単に接続することが可能です。

※JAVA_HOME環境変数設定例:
 


外部テーブルの使用方法については、以下の記事で紹介しております。
レシピデータセットを外部テーブルで読み込み、組み込みPythonでLLMを使って分析する (Langchain + OpenAI)
 


こちらの記事では、外部テーブルで作成できる2種類のテーブル(「CSVファイル直接接続」と「外部DBへのJDBCゲートウェイ経由での接続」)の簡単なサンプル作成例と、外部テーブルの特徴を紹介しています。
 

1-1.

0
0 263
記事 ima · 7月 20, 2024 24m read

埋め込みPythonは、同じプロセス空間で、IRIS言語とPython言語を組み合わせて使える面白い環境を提供しますが、組み合わせて使う場合、オブジェクトタイプとそのアクセス方法の違いをはっきり意識して使わないと混乱するように思います。その使い分けの勉強の為、両言語のオブジェクト参照から、その構造を解析ダンプするツールを作ってみました。とくに、実行中のPython情報が、ZWRITE Oref コマンドでの表示しかないようなので、有用かも知れません。ツールは、まだ、間違い、改良等があると思います(教えて下さい)が、ポストします。

ツール本体: Py.Dump.cls

Class Py.Dump Extends %RegisteredObject
{

/// Py.Dump.cls
/// ObjectScript 及び Python のオブジェクトデータ解析ツール(ダンパー)
/// 入力:ObjectScript 及び 埋め込みPython のデータオブジェクト参照 Oref
/// 出力: 端末と指定グローバル/ローカル変数(デフォルトは ^||o)に Oref のデータ構造を解析し出力する
///    変数には、データタイプの木構造がセットされる
/// 呼び出し:
/// >d ##Class(Py.Dump).
1
0 354
記事 Mihoko Iijima · 7月 16, 2024 9m read

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

管理ポータル > [システム管理] > [セキュリティ] 以下の設定は、%SYSネームスペースにあるSecurityパッケージ以下クラスが提供するメソッドを利用することでプログラムから作成することができます。

以下シナリオに合わせたセキュリティ設定例をご紹介します。

シナリオ:RESTアプリケーション用設定を作成する

事前準備

シナリオの中で使用するソースを2種類インポートします。

アプリケーション用RESTディスパッチクラスをインポートします。

Class Test.REST Extends %CSP.REST
{

Parameter CHARSET = "utf-8";
Parameter CONTENTTYPE = "application/json";
Parameter CONVERTINPUTSTREAM = 1;
XData UrlMap [ XMLNamespace = "http://www.intersystems.
0
0 162
記事 Megumi Kakechi · 7月 16, 2024 2m read

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

SQLゲートウェイの接続設定は管理ポータルで作成できますが、プログラムでも作成が可能です。

管理ポータル:
[システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続]

こちらのトピックでは、ODBC/JDBCそれぞれの設定をプログラムで行う方法をご紹介します。


--- SQL Gateway for ODBC ----

 set gc = ##class(%SQLConnection).%New()
 set gc.Name = "test"
 set gc.DSN = "IRIS User"
 set gc.Usr = "_system"
 set gc.pwd = "SYS"
 set gc.bUnicodeStream = 1
 set gc.useCOALESCE = 1
 write gc.%Save()
 


--- SQL Gateway for JDBC ----

 set gc = ##class(%SQLConnection).%New()
 set gc.isJDBC = 1
 set gc.Name = "testj"
 set gc.Usr = "_system"
 set gc.pwd = "SYS"
 set gc.driver = "com.
0
0 172
記事 Mihoko Iijima · 7月 11, 2024 4m read

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

管理ポータル > [システム管理] > [セキュリティ] 以下の設定は、%SYSネームスペースにあるSecurityパッケージ以下クラスが提供するメソッドを利用することでプログラムから作成することができます。

ユーザ設定については、Security.UsersクラスCreate()メソッドを使えば作成できますが、ユーザを作成するだけでは適切な権限が付与されずに目的のデータにアクセスできない状況もあります。

例)testAユーザ作成

    %SYS>set st=##class(Security.Users).Create("testA",,"testA","これはテストユーザです","USER")
    
    %SYS>write st
    1

    上記メソッドで作成した結果は以下の通りです。(ロール付与無し、テーブルに対する権限の割り当てもなしの状態)

     

    以降の解説では、以下のシナリオをもとにした設定を行っていきます。

    シナリオ:アプリケーション開発者用ロールとユーザを作成する

    1) アプリケーション開発者のtestAは、USERネームスペースにログインするアプリケーション開発者です(=%DevelopmentリソースのUse許可を与えます)。

    0
    0 121
    InterSystems公式 Seisuke Nakahashi · 7月 10, 2024

    InterSystems Reports 24.1 がリリースされ、WRC の Components エリアから入手いただけるようになりました。本製品は InterSystems Reports Designer と InterSystems Reports Server と表記されており、Mac OSX、Windows、Linux 版を入手いただけます。  

    この新バージョンには、弊社パートナーの insightsoftware 社によるすばらしい拡張機能が含まれています。InterSystems Reports 24.1 は Logi Report 24.1 SP2 をベースにしており、以下の機能が含まれます。

    0
    0 108
    記事 Megumi Kakechi · 7月 10, 2024 5m read

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

    こちらの記事では、「IRISでシャドウイングの代わりにミラーリングを構成する方法」を紹介しました。

    今回は、「プログラムでシャドウイングの代わりにミラーリングを構成する方法(Windows版)」を紹介します。
    【今回のサンプル・ミラー構成について】






      正サーバ(ミラー・プライマリ) 副サーバ(ミラー・非同期)
    ミラー名 MIRRORSET MIRRORSET
    ミラーメンバ名 MACHINEA MACHINEC
    IPアドレス 35.77.84.159 54.248.39.237


    では、ミラーの構成手順をご紹介します。手順は以下になります。
     

    <ミラーリングのプライマリ設定>     // MACHINEA(正サーバ)

    1. ISCAgentの自動起動設定および起動         ※Windowsコマンドプロンプトで実行

    C:\Users\Administrator>sc config ISCAgent start=auto
    C:\Users\Administrator>sc start ISCAgent

     

    2.

    0
    0 280
    記事 Mihoko Iijima · 7月 9, 2024 2m read

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

    メッセージログ(messages.log)/コンソールログ(cconsole.log) に以下のようなメッセージが表示される場合があります。

    03/22/18-14:27:34:624 (1851) 2 [SYSTEM MONITOR] WriteDaemon Alert: Write Daemon still on pass 320186

     

    このメッセージ出力は、ライトデーモンのデータベースファイルへの書き込み処理の遅延を示しています。
    その原因としては、ディスクI/O負荷が高く、そのI/O要求量に対してディスク処理性能が不足していることが考えられます。

    ディスクI/O負荷の原因としては以下が考えられます。

    • アプリケーションによるデータへの更新や参照処理が集中した
    • アンチウイルスソフトのスキャンやデータベースバックアップソフト等によるディスクへのI/O負荷

    もしアンチウイルスソフトがインストールされている場合は、「アンチウイルスソフト(セキュリティソフト)のスキャンから除外してほしいリスト」に記述している情報を参考に、InterSystems製品の対象ファイルをスキャンの対象外に設定変更してください。

    0
    0 129
    お知らせ Mihoko Iijima · 7月 8, 2024

    開発者の皆さん、こんにちは!

    次のInterSystems プログラミングコンテストの内容についてご案内します📣

    🏆 InterSystems Python コンテスト 🏆

    期間: 2024年7月15日~2024年8月4日

    賞金総額:$14,000


    0
    0 217
    記事 Mihoko Iijima · 7月 7, 2024 4m read

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

    監査ログはシステムDB内テーブル(%SYS.Audit)に記録されていますので、そのテーブルに対するクエリを実行して抽出したり、%SYS.Auditテーブルに用意されていストアドプロシージャを利用して情報を取得しファイル出力するようにプログラムを用意することもできます。

    以下にご紹介する内容は「監査ログをプログラムで出力(ユーザやイベント指定など)する方法」に関連した内容で、監査ログのファイル出力を管理ポータルの機能を利用した例とプログラムを利用した例でご紹介します。

     

    1. 管理ポータルの印刷機能を使う

    管理ポータル > [システムエクスプローラ] > [SQL]を開き、%SYSネームスペースに接続します。

    システムのチェックを入れ、スキーマに%SYSを指定した後、プロシージャの階層を展開するとプロシージャリストが参照できます。

    %SYS.Audit_ で始まるプロシージャが監査ログに対して実行できるプロシージャです。

    SQL文例)InterSystems製品内ユーザのSuperUserに対する監査ログをストアドプロシージャ:%SYS,Audit_ListByUser を利用して出力しています。

    call %SYS.Audit_ListByUser(,,,,,'SuperUser')

    引数については、クラスリファレンス:%SYS.

    0
    0 160
    記事 Mihoko Iijima · 7月 4, 2024 9m read

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

    PythonスクリプトファイルやPythonで記述されたIRIS内メソッドを呼び出す際、エラーが発生した場合の対応方法をご紹介します。

    説明使用するコードや資料PDFは公開しています👉 test1.pyFS.Utilsクラスコードのコピー元ビデオで解説している資料PDF

    Embedded Python 自習用ビデオをご用意しています(項目別にYouTubeプレイリストをご用意しています)。

    各プレイリストについて詳しくはこちらをご参照ください👉【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開!

    0
    0 450
    記事 Mihoko Iijima · 7月 4, 2024 2m read

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

    InterSystems製品のサーバサイドでファイル入出力を行うと、文字列はシステムで設定されたファイル入出力用文字コードに自動変換され、文字単位でREADします。

    ファイルから入力する文字をバイト単位で操作するためには、自動変換を行わない無変換の状態でファイル入力を行い指定バイトずつ読みながら読んだ分だけUnicodeに手動で変換していく必要があります。

    変換には$ZCONVERT()関数を使用します。($ZCONVERT()には省略形があり$ZCVT()でも同様の操作が行えます。)

    なお、READした指定バイトを変換する際、文字の全バイトが含まれない場合もあるため、途中までの読み取りになった文字列を第4引数に指定する変数に設定できるようになっています。
    次回読み取り時に途中だった文字を自動的に先頭に追加し、$ZCONVERT()の処理を実行します。

    《メモ》ファイル入出力の文字コードについては、以下管理ポータルの画面で確認できます。
    管理ポータル > 構成 > 国際言語設定 > 構成したデフォルト値
     入力/出力テーブルの表の「ファイル」

    以下の文章がファイルにUTF8で保存されているとします。

    2024/4/19:強風でしたが良い天気でした

     

    無変換でファイル入力を行うには、%Stream.

    0
    0 155