質問 Mitsuru Amano · 3月 3, 2021

こんにちは、皆さま

IRISとVSCODE環境を日頃から愛用しています。

普段は使用しませんが、実験的にCSPファイル(*.CSP)をVSCODEで編集してみようと思い試みましたが上手く行きませんでした。

VSCODEの拡張は、「InterSystems ObjectScript Extension Pack」を使用しています。

具体的は2つの方法を試しました。

1.DBからworkspaceにExportして編集+Import&Compile

   ObjectScriptのソースTree-コンテキストメニューにExportが無いため動作を確認できず。

clsのExprot

cspのExportが…ない

2.DBの*.CSPを直接編集。

   ObjectScriptのソースTree-からcspファイルを開き編集したが、読み取り専用と表示。

VSCODEでCSPファイルを編集する方法をご存じの方は、教えて頂けないでしょうか?

4
0 580
記事 Seisuke Nakahashi · 4月 20, 2021 4m read

みなさん、こんにちは!

Visual Studio Code 用のエクステンション、 InterSystems Server Manager のバージョン2.0がリリースされました。

 

このバージョンでは、弊社製品に同梱されているコードエディタ Studio と同じように、「サーバ上にあるクラス定義やルーチンを、サーバに接続して、直接編集&コンパイル」することが簡単にできます。この記事では、「Visual Studio Code を、Studio と同じように、気軽に使う」ための設定をご紹介いたします。

 

1. ObjectScript用エクステンションのインストール

まずは Visual Studio Code に、InterSystems IRIS (Caché) に接続するためのエクステンションを入れましょう。この記事を参考に、3つのエクステンションを導入します。

  • InterSystems ObjectScript
  • InterSystems Language Server
  • InterSystems Server Manager

 

2. 接続するサーバの登録

左のサイドバーに InterSystems Tools という道具箱のアイコンがインストールされます。ここで接続先のサーバ情報を定義します。

0
0 1490
質問 Yuji Ohata · 4月 13, 2021

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

InteroperabilityのRecordMapの仕組みを利用した、ファイル取り込みについて、
取り込み時のエラー内容を独自のログ出力グローバルに吐き出したいと考えております。

管理ポータル上だと以下のように表示されている内容を
文字列として取得したいだけなのですが、何か方法はありませんでしょうか?

 

Ent_Util.Logの中を見ると上記の内容は確認できたのですが、
わざわざシステムが吐いているログを見なくとも、
ビジネス・サービスの結果として取得できる情報があるのでは?と考えております。

4
0 172
記事 Toshihiko Minamoto · 4月 19, 2021 12m read

++更新日:2018年8月1日

Cachéデータベースミラーリングに組み込まれているInterSystems仮想IP(VIP)アドレスの使用には、特定の制限があります。 具体的に言うと、ミラーメンバーが同じネットワークサブネットに存在する場合にのみ使用できるというところです。 複数のデータセンターを使用した場合は、ネットワークの複雑さが増すため、ネットワークサブネットが物理的なデータセンターを越えて「延伸」されることはさほどありません(より詳細な説明はこちらです)。 同様の理由で、データベースがクラウドでホストされている場合、仮想IPは使用できないことがよくあります。

ロードバランサー(物理的または仮想)などのネットワークトラフィック管理のアプライアンスを使用して、クライアントアプリケーションやデバイスに単一のアドレスを提示することで、同レベルの透過性を実現できます。 ネットワークトラフィックマネージャは、クライアントを現在のミラープライマリの実際のIPアドレスに自動的にリダイレクトします。 この自動化は、災害後のHAフェイルオーバーとDRプロモーションの両方のニーズを満たすことを目的としています。 

0
0 600
お知らせ Mihoko Iijima · 4月 19, 2021

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

第11回 InterSystems IRIS プログラミングコンテスト: 開発者ツール  の投票が開始されました!

🔥 これだ!と思う一押し作品に投票お願いします! 🔥

投票期間:4月19日~26日 (1週間)

投票方法は?

コミュニティメンバーはどなたでも投票いただけます!

投票種別は、Expert Nomination と Community Nomination に分かれています。コミュニティメンバーは、Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票してください!

Community Leaderboard:

開発者コミュニティのメンバーは、お好みのアプリケーションに対して1位~3位を指定しながら投票できます。

0
0 109
記事 Shintaro Kaminaka · 4月 19, 2021 18m read

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

このシリーズでは、IRIS for Healthの使い方ではなく、関連技術として、FHIRプロファイル作成ツールであるSUSHIの握り方使い方を紹介していきたいと思います。

このツールをうまく使うことで、FHIRプロジェクトのプロファイル情報(仕様や制限、拡張などの情報)をうまく整理し、公開することができます。

その前にSUSHIとは何でしょうか?簡単にですが、順番に説明していきたいと思います。

FHIR って?

FHIRとは Fast Healthcare Interoperability Resources の略であり、Web通信の一般的技術であるRESTを使用して、可読性が高く取り扱いがし易いJSON/XML形式のデータの集合(=リソース)をやり取りする短期間で実装可能な医療情報交換標準規格、という定義になっています。

簡単に言えば、医療のデータの表現方法として皆で共通したフォーマットを使うことによって、システム間や施設間などでの情報の伝達や交換をやりやすいようにしよう!ということですね。

FHIRには様々なリソースが定義されています。例えば患者さんの情報にはPatientリソースという定義があり、これを使って表現されます。

FHIR公式サイトには多くのサンプルが掲載されていますので、一部抜粋してみます。 例えばこのようなJSON形式で表現されます。

0
2 2698
記事 Megumi Kakechi · 4月 16, 2021 4m read

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

ジャーナル切り替えのタスクが実行時にエラー(例:FILEFULL)となり、その原因となるエラーを解消後も一時停止(Suspend Leave)状態となっているのであれば、以下の操作により復旧可能です。

管理ポータル: [システムオペレーション] > [タスクマネージャ] > [タスクスケジュール表示]  より、以下の操作を行います。

  1. ジャーナル切り替え(Switch Journal) "詳細" をクリック 
  2. "一時停止" をクリック
  3. タスク実行が一時停止された場合にタスクを再スケジュールしますか? はい
  4. "すぐに実行する" をクリック
  5. "再開" をクリック
  6. "すぐに実行する"

タスク詳細にて "一時停止:"が空欄になり、"次回スケジュール時刻:" が再開後の次のスケジュール(例えば2021-04-17 00:00) になっていれば、復旧完了です。

こちらの方法で一時停止状態が解消しない場合は、診断レポート※(^SystemCheck/^Buttons)とタスクの情報(以下の手順で取得)をサポート宛てにお送りいただいた上、ご連絡ください。

0
0 338
記事 Shintaro Kaminaka · 4月 15, 2021 9m read

開発者の皆さん、こんにちは。 以前の記事でIRIS for Health上でFHIRリポジトリを構築し、OAuth2認証を構成する方法をご紹介しました。

この代行認証編では、IRIS for HealthのFHIRリポジトリに組み込まれた認証機能ではなく、IRISの代行認証機能+ZAUTHENTICATEルーチンを使用して認証を行う方法をご紹介します。

前回記事でご紹介したように、標準のFHIRリポジトリの認証機構では、アクセストークンの発行先を追加するためのAudienceの指定(aud=https://~) や、アクセストークンだけではなくベーシック認証の情報を送付するなどの対応が必要でした。

スクラッチでFHIRクライアントを開発するのではなく、既成の製品やアプリケーションからアクセスする場合、上記のような処理の実装ができないことがあるかもしれません。 そのような場合には、この代行認証+ZAUTHENTICATEルーチンを使用して、カスタマイズした認証の仕組みを構築することができます。

この記事に含まれる情報のドキュメントについて

この記事で記載されている情報はIRIS for Healthのドキュメントにも含まれている内容をわかりやすく再構成したものです。

RESTサービスの保護:RESTアプリケーションおよびOAuth2.0

OAuth 2.

0
0 488
記事 Mihoko Iijima · 4月 15, 2021 2m read

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

このエラーが発生する原因としては、アプリケーションの中で既に他のプロセスからロック対象リソースがロックされていて、何らかの理由でそのロックが解放されていないケースが考えられます。

他のプロセスがロックしている兆候がない場合は、ロックテーブルの空き領域が不足しているケースが想定されます。
その場合は、メッセージログ(コンソールログ)に LOCK TABLE FULL のメッセージが出力されます。

トランザクション処理を行なっている場合には、ロック解放の延期が影響しているケースも考えられます。
トランザクションとロック解放の延期については、以下のドキュメントをご参照下さい。

ドランザクション処理について【IRIS】

ドランザクション処理について

 

また、トランザクション中に、同一テーブルに対する大量レコードのSQL 文による更新がある場合、ロックしきい値(既定値は1000)に到達してロックエスカレーションが発生し、その結果として、テーブルロック状態になっている可能性もあります。

このように、ロックタイムアウトエラーの原因は幾つか考えられますので、まずは、管理ポータル(バージョン2010.2以前では、[システム管理ポータル])の、ロックメニューにて、現在のロックの状態をご確認下さい。

【バージョン2011.

0
0 888
記事 Mihoko Iijima · 4月 15, 2021 2m read

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

クラスに定義されたプロパティの情報については、以下システムクラスを利用して情報を取得できます。

%Dictionary.ClassDefintion

%Dictionary.PropertyDefinition

 

コード記述例は以下の通りです。

Class ISJ.Sample
{
ClassMethod getPropInfo(classname As %String)
{
    set cls=##class(%Dictionary.ClassDefinition).%OpenId(classname,,.status)
    if $$$ISERR(status) {
        write "指定クラスは存在しません",!
        quit  // または return
    }
    set x=cls.Properties
    for i=1:1:x.Count() {
        // プロパティ情報を取得(%Dictionary.PropertyDefinition)
        set prop=x.
0
0 418
質問 Yuji Ohata · 4月 13, 2021

こんにちは、皆さま。
JOBの実行監視について、いい方法があれば教えてください。

現在Interoperablity上にファイル検知(PassthroughService)をトリガーにした
Serviceを作成しており、このServiceがデイリーで正しく動作しているかどうかを
監視する仕組みを作りたいと考えています。

 例)
 「A」というServiceが、毎日20時までに実行されているか?
 を監視し、実行されていなければエラーメールを送信する。

今考えている案では、タスクスケジューラを用いて
JOBが実行されたかを見に行くしかないのかなと考えているのですが、
他にいい実現方法をご存じな方がいらっしゃれば、情報頂けますと幸いです。

2
0 196
記事 Shintaro Kaminaka · 4月 15, 2021 7m read

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

以前の記事でIRIS for Health上でFHIRリポジトリを構築し、OAuth2認証を構成する方法をご紹介しました。 IRIS for Health 2020.4がリリースされ、FHIRリポジトリのアクセストークンをチェックする機能が追加になりました。

ドキュメントはAccess Token Scopesです。

この記事ではドキュメントの記載も抜粋しながらこの機能を紹介していきます。

Basic Processing

The access token that accompanies a request must include at least one patient clinical scope or user clinical scope, or else the request is rejected with an HTTP 403 error. If an access token contains both a patient clinical scope and a user clinical scope, the FHIR server enforces the patient clinical scope while ignoring the user clinical scope.

0
0 545
記事 Toshihiko Minamoto · 4月 15, 2021 3m read

皆さん、こんにちは!

皆さんに私のプロジェクトをご紹介したいと思います。

かつて私は、職場でドキュメントを作成し、それに氏名、誕生日、住所など、人に関する情報を挿入するといった、平凡なタスクを担当していました。 そこで、簡単に処理しようと考えた私は、アプリケーションを書きました。

このアイデアは斬新でないどころか、他の言語ですでに実装されていました。 そこで私は、似たようなツールを Cache Object Script で開発しようと考えたのです。 コンセプトは以下のとおりです。

特殊なセマンティクスを用いて、LibreOffice か Microsoft Word でテンプレートを作成します。

そして、テンプレートで使用されるすべての変数が定義されるメソッドまたはプロシージャを書きます。 メソッドは、[ProcedureBlock = 0] キーワードを使って宣言する必要があります。そうしないと、テンプレートを表示する最中に未定義のエラーが出てしまいます。

メソッドの中で、以下のコマンドを使ってドキュメントをレンダリングします。

set error =  ##class(DocumentTemplate).

0
0 166
記事 Makiko Kokubun · 4月 13, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

 


インターシステムズでは、昨年7月に日本語版の開発者コミュニティを正式にオープンしました。

この動画では開発者コミュニティの内容や活用方法、アプリケーションやサンプルなどのプログラムを公開するOpen Exchangeの活用方法についてご説明します。また、記事、質問等を投稿することでポイントが得られるグローバルマスターズについてもご説明します。
開発者コミュニティはこちらです。ぜひアクセスしてみてください。
https://jp.community.intersystems.com/

 

また、開発者コミュニティ内でも使い方や活用方法をご紹介しています。合わせてご覧ください。

0
0 117
記事 Tomoko Furuzono · 4月 13, 2021 2m read

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

以下ドキュメントは、IRIS 最新バージョンと Caché/Ensemble2018.1 でサポートしているクラウドプラットフォームの一覧です。

※Amazon EC2 は、2010.2.0以降でサポートしています。
 Microsoft Azureは、2014.1.0以降でサポートしています。
 Google クラウドプラットフォームは、IRIS2018.1以降でサポートしています。

IRIS 最新バージョンサポートクラウドプラットフォーム

Caché/Ensemble2018.1のサポートクラウドプラットフォーム

他バージョンの対応については、弊社サポートページからバージョン毎の説明ページをご参照ください。

クラウド環境を利用するにあたり、別途ライセンスの追加購入は必要はありません。
必要なライセンスは、InterSystems製品が稼働する仮想サーバのOSで必要なライセンス(Windows 64/32bit、Linux 64bit、Core数等に依存)となります。

クラウド上に環境構築するにあたり検討・考慮すべき点として、AWS では、2015.1 より前のバージョンをインストールする場合には制限があります。詳細は関連トピックをご覧ください。

構成については、以下の記事をご覧ください。

0
0 341
記事 Tomoko Furuzono · 4月 13, 2021 1m read

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

SQLクエリーの文字列を監査ログに残すことができます。

詳細は、以下のドキュメントをご参照下さい。

システム監査イベントについて

※%SQLで始まるイベントをご覧ください。 

InterSystems SQL の使用法

※監査関連ページをご覧ください。

0
0 242
記事 Tomoko Furuzono · 4月 13, 2021 1m read

これは、InterSystems FAQサイトの記事です。
iris.exeを使用し、以下のようにして確認できます。
※up:起動中、dn:停止中

c:\>cd c:\InterSystems\IRIS\bin
c:\InterSystems\IRIS\bin>iris all nodisplay > c:\temp\test.txt
c:\InterSystems\IRIS\bin>type c:\temp\test.txt
    Instance          Version ID          Port      Directory
    -------------       ----------             ----      ---------
dn  iris                2019.1.0.510.0    51773  c:\intersystems\iris
dn  iris20191      2019.1.0.398.0    51774  c:\intersystems\iris20191
c:\InterSystems\IRIS\bin>
0
0 225
記事 Toshihiko Minamoto · 4月 12, 2021 24m read

(1NF/2NF/3NF) からの引用

行と列で特定される位置には、それぞれアプリケーションドメインの値が 1 つだけあります (それ以外は何もない)。 その目的によって、同じ値がアトミックであったり、なかったりします。 例えば、「4286」という値は、
  • 「クレジットカードの PIN コード」を意味するのであれば、アトミックとなります (破損している場合や並び替えられている場合は、使用できません)。
  • 単に「連続する番号」であれば、非アトミックとなります (いくつかに分割されていたり、並び替えられていても、値は意味を成します)。

この記事では、文字列や日付、($LB 形式の) 単純なリスト、「list of <...>」、「array of <...>」といったフィールドの型を伴う SQL クエリのパフォーマンスを向上させる標準的な方法にして検証します。

1
0 192
InterSystems公式 Yoichi Miyashita · 4月 13, 2021

  インターシステムズは InterSystems IRIS および IRIS for Health バージョン2020.4 をリリースしました。本バージョンは、継続的デリバリ(CD) リリースのため、Docker コンテナ として知られる OCI (Open Container Initiative)形式 (for Linux x86-64 および Linux ARM64) のみ入手いただけます。

コンテナイメージは OCI に準拠した Linux x86-64 および Linux ARM64 対応のランタイムエンジンで動作可能です。

あわせて IRIS Studio 2020.4 もリリースしました。

リリースのビルド番号は 2020.4.0.547.0 です。

【新機能のご紹介】
InterSystems IRIS Data Platform 2020.4 には、以下の新機能が含まれます。

0
0 340
記事 Mihoko Iijima · 4月 9, 2021 1m read

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

INFORMATION_SCHEMA スキーマを使用して取得できます。

INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルのSQLメニューに表示されません。
表示させる方法は以下の通りです。

  1. 管理ポータル→システムエクスプローラ→SQL メニューを開きます。
  2. スキーマのプルダウン左にある「システム」をチェックします。
  3. スキーマのプルダウンから INFORMATION_SCHEMA を選択します。

 

指定のテーブル(ISJ.Class1)に対するID、フィールド名(COLUMN_NAME)、データタイプ(DATA_TYPE)、説明(DESCRIPTION)を取得するSQLは以下の通りです。

SELECT ID,COLUMN_NAME,DATA_TYPE,DESCRIPTION
FROM INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA='ISJ' AND TABLE_NAME='Class1'
0
0 625
記事 Megumi Kakechi · 4月 9, 2021 2m read

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

グローバル変数毎のデータベースキャッシュ使用量を確認するツール(^GLOBUFFユーティリティ)が用意されています。

%SYSネームスペースにて、ユーティリティを直接実行する方法と、プログラムで実行する方法があります。
 

ユーティリティを直接実行する方法は以下のようになります。

USER>zn "%SYS"
 
%SYS>do ^GLOBUFF
 
Find which globals are using the most buffers.
 
Display the top <25>:     → Enter押下  // デフォルトは上位25グローバルを表示
 
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.112%)   // グローバル名とデータベース名、バッファに占める割合が出力されます
 
Item  Global                             Database          Percentage (Count)
1     oddDEF                             IRISLIB              34.
0
1 468
記事 Mihoko Iijima · 4月 9, 2021 1m read

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

引数名の後ろに ... をつけることで可変の引数を渡すことができます。

ObjectScript では、配列を使って任意の数の引数を渡すことができます。

例文は以下の通りです。
例文では、メソッド実行後に確認しやすいように、グローバル変数(=データベースに格納される変数)に引数の情報を設定しています。
 

Class TEST.ARGTEST1 Extends %RegisteredObject
{
ClassMethod NewMethod1(Arg... As %String) As %Boolean
{
 kill ^a
 merge ^a = Arg
}
}

 

ターミナルで実行した結果は以下の通りです。

USER>DO ##class(TEST.ARGTEST1).NewMethod1(1,2,3,4,5)
USER>ZWRITE ^a
^a=5
^a(1)=1
^a(2)=2
^a(3)=3
^a(4)=4
^a(5)=5
0
0 395
記事 Toshihiko Minamoto · 4月 8, 2021 6m read

皆さん、こんにちは。 今日は、Jupyter Notebook をインストールして、Apache Spark と InterSystems IRIS に接続したいと思います。

注記: 以下にお見せする作業は Ubuntu 18.04 で Python 3.6.5 を使って実行しました。

はじめに

Apache Zeppelin の代わりに認知度が高く、よく普及していて、主に Python ユーザーの間で人気というノートブックをお探しの方は、 Jupyter notebookをおすすめします。 Jupyter notebook は、とてもパワフルで優れたデータサイエンスツールです。 大きなコミュニティが存在し、使用できるソフトウェアや連携がたくさんあります。 Jupyter Notebook では、ライブコード、数式、視覚化インターフェース、ナレーションテキストを含む文書を作成、共有できます。 機能としてデータクリーニングや変換、数値シミュレーション、統計モデリング、データの視覚化、機械学習などが含まれています。 最も重要なこととして、問題に直面したときにその解決を手伝ってくれる大きなコミュニティが存在します。

要件の確認

何かうまく行かないことがあれば、一番下の「考えられる問題と解決策」をご覧ください。

0
0 403
記事 Megumi Kakechi · 4月 7, 2021 4m read

これは InterSystems FAQ サイトの記事です。
ファイル入出力処理を行うには、ライブラリクラスを利用する方法が便利です。

ライブラリクラスを使用する以外には、Open/Use/Close コマンドを使用する方法もあります。<※1>

ファイル入出力処理には、%Library.Fileクラス、%Stream.FileCharacter/%Stream.FileBinary を使用します。

簡易例やプロパティ/メソッド詳細は、以下ドキュメントをご参照ください<※2>。
クラスリファレンス【IRIS】
クラスリファレンス

【補足】
%Libraryパッケージは、クラス定義構築基盤として利用するクラスが多いためパッケージ名を省略することができます。
(%Library.File は %File として利用できます)
 

【A】%Fileクラスを利用する方法

%Fileクラスには、ファイル入出力操作の他に、ディレクトリ作成(CreateDirectory()など)/存在チェック(Exists())/OS非依存でファイルパス取得(NormalizeFilename()など)が行える様々な便利メソッドを用意しています。

ファイル出力処理手順は以下の通りです。

(1) ファイル用オブジェクトを作成

ファイル名をフルパスで指定しながらファイル用オブジェクトを作成します。

set file=##class(%File).
0
0 1569
記事 Makiko Kokubun · 4月 6, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

 

既に運用されている電子カルテ・処方のデータや蓄積されているデータを、FHIR に変換して活用したいというニーズは、FHIR アプリケーションを構築するにあたり最も多いご要望の一つです。

この動画では、InterSystems IRIS for Health を使用して、HL7/SS-MIX2 やCSV など他形式のデータから FHIR データへ変換する方法について、デモをまじえてご紹介いたします。

 

この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。
FHIR にご興味ある方はぜひご覧ください。

0
1 530
記事 Toshihiko Minamoto · 4月 5, 2021 11m read

はじめに

Webで行われるサーバーとクライアント間のほとんどの通信は、リクエストとレスポンスの構造に基づいており、 クライアントがサーバーにリクエストを送信すると、サーバーがそのリクエストに対するレスポンスを送信します。 WebSocketプロトコルは、サーバーとクライアント間の双方向通信チャンネルを提供するプロトコルで、サーバーがリクエストを受信しなくても、クライアントにメッセージを送信することができます。 WebSocketプロトコルと、InterSystems IRISでの実装についての詳細は、以下のリンクをご覧ください。

このチュートリアルは、「非同期WebSocket -- クイックチュートリアル」を、Caché 2016.2以上とInterSystems IRIS 2018.1以上向けに更新したものです。

非同期動作と同期動作

InterSystems IRISでは、WebSocket接続を同期的または非同期的に実装することができます。 クライアントとサーバー間のWebSocket接続がどのように動作するかは、%CSP.WebSocketクラスの「SharedConnection」プロパティによって決まります。

0
0 3672
記事 Mihoko Iijima · 4月 2, 2021 2m read

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

MM/DD-hh:mm:ss:938 ( 0) 1 Failed to allocate xxxMB shared memory using large pages. Switching to small pages.
MM/DD-hh:mm:ss:938 ( 0) 0 Allocated xxxMB shared memory: yyyMB global buffers, zzzMB routine buffers

コンソールログ(cconsole.log/messages.log)に上記のようなメッセージがある場合は、Large Page でのメモリ確保に失敗して、Small Page でメモリを確保したことを示しています。

Allocated xxxMB が設定サイズと同じ場合、Small Pageでメモリ確保ができていますので、設定サイズを減らす必要はありません。

このメッセージは、起動時に十分な空きメモリが連続領域で確保されていないために発生しています。

デフォルトの設定では、WindowsOS が管理するメモリ領域の中で Large Page という領域にメモリを連続的に確保します。

0
0 2016
記事 Mihoko Iijima · 4月 2, 2021 1m read

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

アプリケーション等がデータベースにアクセスしている最中に、データベースの最大サイズの変更や未使用領域の開放などのデータベース設定変更を行うことにより、データベース整合性等に悪影響を及ぼすことはありません。

しかし、未使用領域の開放などは、ディスクアクセスの増加やメモリの使用等でシステムに負荷をかける可能性があるため、その観点からシステム運用に影響が出ないよう注意が必要です。

0
0 166
記事 Toshihiko Minamoto · 3月 31, 2021 13m read

デベロッパーの方なら、反復的なコードを書いた経験があると思います。 プログラムを使ってコードを生成できたら楽なのに、と考えたことがあるかもしれません。 まさに自分のことだと思った方、ぜひこの記事をお読みください!

まずは例をお見せします。 注意: 次の例で使用する %DynamicObject インターフェースは Caché 2016.2 以上のバージョンが必要です。 このクラスに馴染みのない方は、Using JSON in Caché と題したドキュメンテーションをお読みください。 とても重宝すると思います!

データを保管するために使う %Persistent というクラスがあります。 %DynamicObject インターフェースを使い、データを JSON 形式で取り込むとしましょう。 どうすれば %DynamicObject 構造をクラスにマッピングできると思いますか? ソリューションの 1 つに、値を直接コピーするコードを書くという方法があります。

Class Test.
0
0 288