これは、InterSystems FAQサイトの記事です。
現在実行中のコードの位置は、$STACK関数を使用して $STACK($STACK,"PLACE") で取得できます。
サンプルコードは以下ドキュメントをご参照ください。
これは、InterSystems FAQサイトの記事です。
現在実行中のコードの位置は、$STACK関数を使用して $STACK($STACK,"PLACE") で取得できます。
サンプルコードは以下ドキュメントをご参照ください。
これは、InterSystems FAQサイトの記事です。
SQLの場合、NULLデータと空文字列 ('')は区別されます。
それぞれの設定・確認方法は、以下のようになります。
(1) NULLデータ
【SQL】
【InterSystems ObjectScript】
(2) 空文字列 ('')
【SQL】
【InterSystems ObjectScript】
詳細については、以下ドキュメントをご参照ください。
これはInterSystems FAQ サイトの記事です。
※管理ポータルから、もしくはコマンドから開始できます。
do##class%Net.Remote.Servicea. コマンドで作成する場合
"C:\temp\TestDll.dll
do ##class(%Net.Remote.Gateway).%ExpressImport(dllPath, 55000, "b. スタジオで作成する場合
[ツール] - [アドイン] - [.Net ゲートウェイウィザード] ⑥ 以下のような手順でコードを実行します。
例:
Set開発者のみなさん、こんにちは。
"Innovation in Data - データによるデジタル変革の推進" をテーマに、DX推進に不可欠な健全なデータの提供とデータプラットフォームの最新情報をお届けしました「InterSystems Japan Virtual Summit 2022」の全てのセッションを、4月22日(金)までオンデマンドで配信しております。
見逃した方や、もう一度セッションをご覧になりたい方など、是非、この機会にご覧いただければと思います。
■テーマ:Innovation in Data - データによるデジタル変革の推進
■オンデマンド配信:2022年4月22日(金)まで
■参加:無料(登録制)
《技術セッション》
■Embedded Python で広がる InterSystems IRISの世界
■SQLでどこまでできる? ~データロードから機械学習まで~
■オープンソースだけで IRIS on Kubernetesを動かそう
■VSCode、Jenkinsを使用したCICD環境の構築
■FHIR SQL Builder
■ストレージの節約方法について
■ミラーリングを使用したHAおよびDR構成例
皆様のご参加をお待ちしております。
この記事では、CSP Web アプリケーションを使用して、コードで認証、承認、および監査を行う方法と、Web アプリケーションを有効化/無効化および認証/認証解除する方法について説明します。
アプリケーションのレイアウト
これは、InterSystems FAQサイトの記事です。
ジャーナル・ファイルの処理でジャーナルファイルに記録されるタイプが、それぞれどのような状況下で記録されるのかについて説明します。
| 処理 | (管理ポータルの)タイプ | 説明 | 具体的にどのような処理で記録? |
もし現在ご使用のデータベース技術で壁に突き当たっていると感じておられるならば、是非InterSystems IRIS Data Platformへの移行をご検討ください。
(以下IRIS)
IRISに移行するに際して、現行のプログラム資産を全て書き換える必要はありません。
IRISに移行する際には、以下の手順で進めることを推奨しております。
アプリケーションコードをそのまま流用し、動作させるために、現在のデータベースからIRISへの移行を行います。
既存のRDBMSのデータ定義(DDL文で記述されたもの)をIRISに取り込むことで、リレーショナルとオブジェクトの両モデルからアクセスが可能となるため、必要に応じてオブジェクト・アクセスが妥当である処理に対しては、アプリケーションプログラムの修正など、対応策が選択できます。
さらにXMLやJSONなどのドキュメント形式のデータの取り扱いも容易ですので、RestFullなアプリケーション構築にも向いています。
また、IRISには習得が容易でデータベースエンジンと一体化したスクリプト言語「InterSystems ObjectScript」が用意されているので、処理の一部をサーバ側ロジックとしてストアドプロシージャ化することによってデータベース処理を効率化するなど、様々な対応策を検討することができます。
バージョン2021.
質問
現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか?
答え
InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。
ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。
また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。
(使用されているSQL文等はそのまま流用可能な場合が多いです。)
さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。
以上のことから他データベースシステムからIRISシステムへの移行には相応の移行コストがかかるため、移行は必ずしも容易とは言えませんが、それでも移行を決断されたお客様はたくさんおられます。
そしてほとんどのお客様は移行したシステムの性能、開発生産性、保守性、運用の容易さ等に満足されております。
これは InterSystems FAQ サイトの記事です。
以下のコードは、https://www.intersystems.com/assets/intersystems-logo.png をダウンロードし、c:\temp\test.pngとしてファイルを保存する例になります。
以下のコードを動作させるためには、SSLTESTという名前のSSL定義を作成しておく必要があります。
ClassMethodAs%StatusInterSystems Kubernetes Operation (IKO) バージョン 3.3 が WRC ダウンロードページ やInterSystems Container Registry よりダウンロード可能となりました。
IKO は、使いやすい irisClusterリソース定義を提供することにより、Kubernetesにおける InterSystems IRIS やInterSystems IRIS for Health との連携を簡素化します。 簡単なシャーディング、ミラーリング、ECP構成などの機能一覧は ドキュメント をご覧ください。
IKO 3.3の主な修正点:
irisCluster の一部として共通のSystem Alerting and Monitoring (SAM) コンフィグレーションのデプロイirisCluster の一部として InterSystems API Manager (IAM) のデプロイや管理少し前に GitHub が導入されてから、そこにホストされているあらゆるリポジトリの VSCode をブラウザで非常に素早く実行できるようになりました。 リポジトリで . キーかプルリクエストを押すか、URL で .com を .dev に置き換えることで、ブラウザ内で VSCode 環境に直接移動することができます。

この VSCode はデスクトップバージョンのライトバージョンではありますが、完全にブラウザ内で動作します。 このため、このような動作を可能にする拡張機能には制限があります。 そこで、VSCode-ObjectScript 拡張機能の新しい 1.2.1 バージョンをご紹介します。ブラウザモードでの実行がサポートされています。
.png)
この記事では、以下のオンラインデモを通じ、GitHub アカウントを使用した OAuth2 認証の基本を説明します。
https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp(SuperUser | SYS)
皆様こんにちは。
Native API for .NETを使用して、%Stream.GlobalBinaryタイプのプロパティを持つデータを作成しようとしています。
%Stream.GlobalBinaryタイプのプロパティ(binaryData)に書き込む部分は以下のようになっています。
Using obj As InterSystems.Data.IRISClient.ADO.IRISObject = iris.ClassMethodObject("User.Sample","%New")
Using prop As InterSystems.Data.IRISClient.ADO.IRISObject = obj.GetObject("binaryData")
prop.InvokeStatusCode("Write", binary)
End Using
obj.InvokeStatusCode("%Save")
End Using
この”Write”メソッド部分ですが、1.5MB程度の制限がかかってしまい、1.5MBを超えるようなデータが登録できません。
※実際にはエラーとはならず、1.5MBまでしか書き込まれていない状態のようです。
どなたか解決方法等ご教授いただけないでしょうか。
インターシステムズ社は、ObjectScript ルーチンのコンパイルが正しく行われない不具合を修正しました。
この不具合は、最近リリースされた 2021.1.1 バージョンのみに存在します。
InterSystems IRIS
InterSystems IRIS for Health
HealthShare Health Connect
インターシステムズでは、2021.1.1 を使用しないことを推奨しています。ルーチンのコンパイルが正しく行われず、予測不可能なロジックの実行が発生する可能性があります。2021.1.1 のバージョンは、配布チャネルから削除されました。 インターシステムズ社は、この不具合を修正したバージョン 2021.1.2 をご利用ください。
ご参考までに、この修正プログラムはCDS3299として識別されます. この問題の影響を受けるのは2021.1.1 のみです。
このアラートについてご質問がございましたら、サポートセンター Worldwide Response Center までお問い合わせください。
これまでの記事では、メールサーバーのメールボックスからのメッセージを処理する IMAP プロトコルの基本的な使用方法を学習しました。 とても興味深いものではありましたが、他の人が作成してすぐに利用できるようにライブラリに提供されている実装を利用することも可能です。
IRIS データプラットフォームの改善の 1 つに、同じ IRIS プロセスで ObjectScript に並行して Python コードを記述できる機能があります。 この新機能は、組み込み Python と呼ばれます。 組み込み Python を使用すると、ObjectScript コードに巨大な Python エコシステムのライブラリの力を取り込むことができます。
この記事では、imaplib というライブラリを使用して IMAP クライアントを実装し、それを IRIS Email フレームワーク に統合することにします。 また、Python エコシステムの力を借りて、組み込み Python を使用して、IRIS プラットフォームでの実際の課題を解決する方法を示す実用的な例も確認します。
ここで実装されているすべてのコードは、こちらの GitHub リポジトリの python ディレクトリにあります。
Python コードは最近の IRIS バージョンでのみ機能することに注意してください。
開発者の皆さん、こんにちは!
次のコンテストへの参加準備はよろしいですか? 19 回目の InterSystems オンラインプログラミングコンテストのテーマは・・・
🏆 InterSystems Global Contest 🏆 です!
(もう 18 回も開催してたんですね。びっくり ( ゚Д゚) いたしました)
応募期間は 2022年3月21日~4月3日 です。
💰 賞金総額: $10K💰

背景
先日、ObjectScript の永続(Persistent)クラスのプロパティを編集していたところ、ストレージ定義が最後の変更を反映するように更新されていないことに気づきました。
この場合、クラス定義に不要となったプロパティを削除した上で保存し、再コンパイルしましたが、それでもストレージ定義に残ったままになっていました。
それでも焦ることはありませんでした。 ストレージ定義がコンパイル時に自動生成されるのであれば、それを_削除_して、クラスを再コンパイルすればよいからです。 もちろん、この後、削除されたプロパティはストレージ定義に表示されなくなりました。
問題解決... ですよね?
(ブブー、間違いです)
後になって、このアプローチはクラスにデータが保存されていないときに機能することがわかりました。 ただし、既存のデータがあるのであれば、重大なデータ参照の問題が発生する可能性があります。
そもそもストレージ定義とは?
ストレージ定義はクラスプロパティとデータベース内のその物理ストレージ場所をリンクするマップとして機能します。
複数のスロットのある本棚とどのスロットに本が収まっているかを追跡するためのリストがあるとします。
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
現在複数のJob実行の仕組みをInteroperabilityの機能を使って実現しておりますが、
特定のビジネスサービスは、xx:xx~yy:yyの間実行させたくない、
という仕組みを実現させる必要が出てきました。
https://docs.intersystems.com/iris20201/csp/docbookj/DocBook.UI.Page.cl…
ここに「スケジュール指定の定義」というものがあり、まさにこれが利用できるのかと思ったのですが、
文献を見る限りだと、プロダクションそのものを停止するような仕組みに見えており、
また実際に定義を作ってみたのですが、それをどうやってプロダクションへ反映させるかもわかりませんでした。
.png)
どなたか、類似の仕組みを作成された方がいらっしゃったら、アイデアをいただけませんでしょうか。
最悪、ビジネスサービスのロジック内にスケジュールを見て、
処理を中断するロジックを入れるしかないと考えております。
InterSystemsを使用してExcelファイルを生成する方法はたくさんあります。ZENレポートやIRISレポート(Logiレポートまたは正式にはJReportsと呼ばれるレポート)のほか、サードパーティのJavaライブラリを使用するなど、可能性はほぼ無限です。
しかし、Caché ObjectScriptだけで単純なスプレッドシートを作成したい場合はどうでしょうか。 (サードパーティアプリケーションを使用せずに、です)
私の場合、大量の生データを含むレポート(金融関係の人たちが好むレポート)を生成する必要がありますが、私のZEN/IRISでは対応できません。私が呼ぶところの「ゼロバイトファイル」が生成され、基本的にJavaのメモリ不足となり、レポーティングサーバーに大きな負荷を生じてしまいます。
これは、Office Open XML(OOXML)を使って実現できます。 Office Open XML形式は、多数のXMLファイルで構成されるZIPパケージです。 つまり基本的には、これらのXMLファイルを生成してZIP圧縮し、.xslxに名前を変更すればよいのです。 それくらい単純です。
ファイルは、Open Packaging Conventionsという単純な命名規則に従っています。
InterSystems Product Alerts and Advisories page に投稿された14件の勧告へのリンクです。HealthShare製品は全て、IRIS for Healthは最初の3件について影響があります。
注意事項:前回リリースしましたビルド2021.1.1.324.0には問題があります。 2021.1.1 メンテナンスリリースはWRCから削除し、ビルド2021.1.2.336.0 に更新しています。2021.1.2のコンテナ版はまもなくリリースする予定です。
2種類のメンテナンスリリースが利用可能です。
インストレーションキットやコンテナはWRC ソフトウェア配布サイト からダウンロードできます。 Container images for the Enterprise Editions of InterSystems IRISや IRIS for Health の Enterprise Editionのコンテナイメージ、すべての関連コンポーネントはInterSystems Container Registry から取得できます。
これは、InterSystems FAQサイトの記事です。
ある処理において、データを無期限に保存する必要がなくグローバルの強力な性能が必要になる場合に、IRISTEMP/CACHETEMP データベースに保存される一時グローバルが使用されます。
IRISTEMP/CACHETEMPデータベースはジャーナルされないので、一時グローバルの使用ではジャーナルファイルは作成されません。
IRISTEMP/CACHETEMP データベースは、システムで一時ストレージ用に使用され、ユーザも同じ用途で使用することができます。
一時グローバルとIRISTEMPデータベースの詳細については、以下のドキュメントをご覧ください。
一時グローバルと IRISTEMP データベース
一時グローバルとして使用されるグローバルには以下のようなものがあります。
1. システムテンポラリグローバル(^IRIS.Temp*、^%cspSession、^CacheTemp*、^mtemp* など)
2. ユーザが設定したIRISTEMP/CACHETEMPへのマッピングによる一時グローバル
3. プロセスプライベートグローバル (^||name、^|"^"|name、^["^"]name、^["^",""]name など)
4.
2022年2月のコミュニティリリースへようこそ!
開発者向けの新しいコミュニティ・イベント・カレンダーをご紹介します。
🎯 https://jp.community.intersystems.com/events
このカレンダーでは、開発者コミュニティのイベント履歴を見ることができます。現在または近日中に開催されるイベントを確認したり、過去のイベントをチェックしたり、Communityのウェビナーやミートアップの録画を見たりすることができます。
ではその使い方を詳しく見ていきましょう。
これは、IRIS でリレーショナルデータをクエリするアナリストとアプリケーションに、さらに優れた適応性とパフォーマンスによるエクスペリエンスを提供する IRIS SQL のイノベーションをトピックとした短い連載の 3 つ目の記事です。 2021.2 では連載の最後の記事になるかもしれませんが、この分野ではさらにいくつかの機能強化が行われています。 この記事では、このリリースで収集し始めたヒストグラムという追加のテーブル統計について、もう少し詳しく説明します。
ヒストグラムは数値フィールド(またはより広範には、厳密な順序を持つデータ)のデータ分布の近似表現です。 このようなフィールドの最小値、最大値、および平均値がわかれば役立ちますが、データが 3 つのポイント間でどのように分布しているかはほとんどわかりません。 ここで役立つのがヒストグラムです。値の範囲をバケットに分割し、バケットごとに出現するフィールド値の数をカウントします。
これは非常に柔軟な定義であるため、バケットがフィールド値に関して同じ「幅」になるように、またはカバーされるサンプル値の数に関して同じ「大きさ」になるように、バケットのサイズを選択することができます。 後者の場合、各バケットには同じパーセンテージの値が含まれるため、バケットはパーセンタイルを表します。
開発者のみなさん、こんにちは!
InterSystems Python コンテスト の投票結果が発表されました!この記事ではコンテスト受賞者を発表します📢
受賞された開発者の皆さん、👏おめでとうございます!🎊
これは、InterSystems FAQサイトの記事です。
オブジェクトに対する一般的な処理をサポートする各種関数を提供しています。
詳細は以下ドキュメントをご参照ください。
オブジェクトへの動的アクセス【IRIS】
オブジェクトへの動的アクセス
サンプルクラス(Sample.Person)を使用して、利用例をご紹介します。
【InterSystems IRIS でご確認いただく場合】
InterSystems IRISでは、サンプル定義の一部を GitHub 上に公開しています。
ダウンロード情報やインポート、データ作成手順については、下記の記事をご参照ください 。
サンプル(Sample.Person)のクラス定義ダウンロードとサンプルデータの作成について
【Caché/Ensemble/HealthShare でご確認いただく場合】
SAMPLES ネームスペースへ移動してご確認ください。
(1) クラス名の取得:$CLASSNAME(インスタンス
これは、InterSystems FAQサイトの記事です。
マップされたクラス・ルーチンも含めてコンパイルする場合は、コンパイラ修飾子に "/mapped=1" もしくは "/mapped" を指定します。 例えば、以下のように行います。
【例1】クラスリストを取得してコンパイル
【例2】全てのクラスをコンパイル
これは、InterSystems FAQサイトの記事です。
ミラー構成削除時に、ミラー・データベースのミラー属性を削除するオプションを指定しないと、通常データベースに戻すことができず、次回マウント時に読み取り専用でデータベースがマウントされます。 読み書き可能なデータベースに戻すためには、システムルーチン ^MIRROR を使用してミラー属性を削除する必要があります。
手順は以下のとおりです。(%SYSネームスペースで実行します。)
これは、適応性とパフォーマンスに優れた SQL エクスペリエンスを提供する 2021.2 SQL 強化機能に関する連載第 2 回目の記事です。 この記事では、前の記事で説明したランタイムプランの選択機能の主要な入力であるテーブル統計の収集におけるイノベーションに焦点を当てます。
皆さんには次のことを何度もお伝えしてきました:
TUNE TABLE SQL コマンドまたは$SYSTEM.SQL.Stats.Table ObjectScript API を通じてテーブルをチューニングすることは、IRIS SQL が適切なクエリプランをはじき出すのに役立つテーブルデータの統計情報を収集することです。 これらの統計情報には、テーブル内のおおよその行数など、オプティマイザーが JOIN の順序(通常、最も小さいテーブルから始めるのが最も効率的です)などを決定する上で役立つ重要な情報が含まれています。 クエリのパフォーマンスについて InterSystems サポートに寄せられる多くの問い合わせは、TUNE TABLE を実行してもう一度試すだけで解消されます。このコマンドを実行することで、既存のプランが無効になり、次の呼び出しによって新しい統計が得られるためです。