記事 Mihoko Iijima · 6 hr 前 4m read 文字コードが不明なファイルや文字列を正しく処理する方法 これは InterSystems FAQ サイトの記事です。 InterSystems 製品では、ファイルオープン時に文字コードを指定すれば指定の文字コードで正しくファイルの中身を処理できます。 文字コードを指定しない場合、InterSystems 製品をインストールした OS に合わせて設定されたファイル I/O 用文字コードを利用してファイルをオープンします(Linux 系は UTF8、Windows は SJIS)。 また、文字列については文字コードが判明していれば $ZCONVERT() 関数を使用して指定文字コードで文字列を処理することができます。 例)$ZCONVERT(文字列,"I","IRIS内文字コード") #Embedded Python #ObjectScript #Python #ヒントとコツ #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 8
記事 Mihoko Iijima · 2025年6月30日 2m read ObjectScript での日付の比較方法(ObjectScript での SQL 関数実行方法) これは InterSystems FAQ サイトの記事です。 ObjectScript で日付の比較を行う場合、一旦 $HOROLOG 形式(内部数値)に変換することで算出しやすくなりますが、SQL 関数を利用して算出することもできます。 ObjectScript から SQL 関数を実行するには、%SYSTEM.SQL.Functions クラスを使用します。 #ObjectScript #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 5
記事 Mihoko Iijima · 2025年6月25日 3m read 管理ポータルの再下位メニューに対してアクセスを制限する方法 これは InterSystems FAQ サイトの記事です。 管理ポータルのシステム管理やシステムエクスプローラーなど最上位のメニューについては、事前定義ロールをユーザに付与することでアクセスを制限することができます。 最下位のメニュー、例えば [システム管理] > [構成] > [システム構成] > [ネームスペース] などは、事前定義ロールの %Manager を付与されたユーザであれば、全てのユーザが利用できてしまいます。 このページに対して、「%Manager ロールを持っているが、あるユーザは使用でき あるユーザは使用できない」のようにユーザ毎のアクセス制限を追加したい場合は、カスタムリソースを作成し再下位メニューに対して作成したカスタムリソースを付与することで制限を追加することができます。 手順は以下の通りです。 #システム管理 #セキュリティ #ヒントとコツ #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 10
記事 Mihoko Iijima · 2025年6月24日 11m read 管理ポータルメニューにアクセスできるユーザを制限する方法 これは InterSystems FAQ サイトの記事です。 InterSystems 製品インストール時に用意されている事前定義ロールを利用して、ログインユーザ毎に管理ポータルメニュー(システム管理/システムエクスプローラー/システムオペレーション など)のアクセスを制限することができます。 管理ポータルメニューに対するアクセス制限を行うためには、管理ポータルへの「認証なし(UnknownUser)」アクセス(※1)を使用しない環境が必要です。 管理ポータル上部の「ログアウト」をクリックしてログイン画面が表示されない場合は、関連記事「管理ポータル/スタジオ/ターミナルにパスワード認証を設定するにはどうしたらいいですか?」をご覧いただき必要な設定を行ってください。 #システム管理 #セキュリティ #ヒントとコツ #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 14
記事 Hiroshi Sato · 2025年6月22日 1m read python3コマンドでEmbedded Pythonを動かす方法(macOS) .pyファイルの中でIRISのEmbedded Pythonを動作させる際にirispythonコマンドで実行する方法はドキュメント上で紹介されていましたので、以前より使用していました。 しかし、普通のpythonコマンドを使用するとうまく実行できなかったのですが、最近その謎(原因)が解けたので紹介します。 これは、Mac特有の問題である可能性が高くWindowsやLinuxでは何の問題もなく実行できるのかもしれません。 エラーは以下のようなエラーです。 #Embedded Python #Python #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 12
記事 Megumi Kakechi · 2025年6月20日 5m read 非ミラー環境に、ミラー環境でオンラインバックアップしたバックアップファイルをリストアする方法 これは InterSystems FAQ サイトの記事です。こちらの記事では、非ミラー環境にミラー環境でオンラインバックアップしたバックアップファイルをリストアする方法をご紹介します。 手順は大きく分けて2つになります。 1.バックアップファイルからリストアを行う 2.データベースファイルのミラー属性を削除する 1.バックアップファイルからリストアを行う 以下は、^DBREST ユーティリティによる対話形式のリストア方法になります。 #Mirroring #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 11
記事 Andre Larsen Barbosa · 2025年6月9日 3m read 体重のノックアウト 相手に隙を与えないノックアウトパンチのように、オープンソースプラットフォームであるKubernetesは、その可用性(つまり、サポート、サービス、ツールの容易な入手性)により、無限の可能性を秘めています。Kubernetesはコンテナ内のジョブとサービスを管理できるプラットフォームであり、これらのプロセスの構成と自動化を大幅に簡素化します。 しかし、タイトルイメージにふさわしい、このツールに「正しい」名前、InterSystems Kubernetes Operatorを与えましょう。 原理は至ってシンプルです。サービスを選択し、ゲームのルールを定義するだけで(ここでもKnockoutを参照)、すべてが可能な限り透明性と効率性を高めて提供されます。これは、インストール、修復、そして事前定義された要件を満たさない場合の最終的な復旧にも適用されます。 #Kubernetes #コンテスト #InterSystems IRIS 0 0 0 21
記事 Mihoko Iijima · 2025年6月1日 7m read InterSystems 製品のセキュリティの基本:ユーザとロール これは InterSystems FAQ サイトの記事です。 InterSystems 製品では、ユーザが持つロールによって「InterSystems 製品内で何ができるのか」が決まります。 では、ロールには何が含まれているのでしょうか。 ロールには、複数の特権を含めることができます。特権とは、リソース(保護対象)に対する許可の設定を指しています。 本記事では、IRIS の開発者である山田さん(Yamada) を例に、以下の内容をご説明します。 1) ロールから付与される特権(=リソースに対する許可)について具体例を利用した確認方法 2) ロールを利用したセキュリティ設定について 《ご参考》 #システム管理 #セキュリティ #ヒントとコツ #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 23
記事 Megumi Kakechi · 2025年6月1日 5m read ロックテーブルの参照方法とその見方 これは InterSystems FAQ サイトの記事です。ロックテーブルを参照する方法として、主に以下の3つの方法が挙げられます。 1. 管理ポータルで参照する方法 ⇒ 管理ポータル:システムオペレーション > ロック > ロックを表示(または管理) 2. ^LOCKTAB ユーティリティ を使用する方法 ⇒ %SYS> do ^LOCKTAB 3. プログラムで参照する方法 ⇒ プログラム内でロック情報を取得する方法 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 25
記事 Megumi Kakechi · 2025年5月29日 6m read InterSystems製品のロックの基本 これは InterSystems FAQ サイトの記事です。 InterSystems製品では、複数のプロセスが同時に同じデータにアクセスする場合、排他制御を行うためにロックを使用できます。ロックは、データの更新を正しく行い整合性を保つための仕組みで、あるデータに対する更新処理を制御するために使用します。ロックを操作するには、LOCK(L)というコマンドが使用できます。 こちらの記事では、InterSystems製品で使用できるロックの種類、LOCKコマンドの使い方をご紹介します。 ★ロックの種類 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 31
記事 Toshihiko Minamoto · 2025年5月27日 14m read SQL データ移行を使用した Python による IRIS を使った REST Api 次回の Python コンテストでは、Python を使用して IRIS をデータベースとして使用する簡単な REST アプリケーションを作成する方法についての小さなデモを作成しようと思います。 以下のツールを使用します。 FastAPI フレームワーク: 高パフォーマンス、学習しやすい、高速コーディング、プロダクション対応 SQLAlchemy: Python SQL ツールキットで、アプリケーション開発者が SQL の全性能と柔軟性を活用できるオブジェクトリレーションマッパーです。 Alembic: Python 用の SQLAlchemy データベースツールキットと使用する軽量のデータベース移行ツール。 Uvicorn: Python の ASGI ウェブサーバー実装。 #Python #REST API #SQL #InterSystems IRIS Open Exchange app 1 0 0 21
記事 Toshihiko Minamoto · 2025年5月22日 6m read InterSystems IRIS Workflow Engine によるタスクのフロー - はじめに しばらくの間、私はワークフロー機能について何らかの概念実証を行おうと計画していましたが、これは IRIS に存在する他の多くの機能と同様に、お客様にほとんど気付かれないまま終わってしまう傾向があります(その点については申し訳ありません)。 そこで数日前、この機能を構成して、Angular で開発したユーザーインターフェースに接続して使用するための例を作成することに決めました。 記事が非常に長くならなずに読みやすくするために、3 部に分けて説明しようと思います。 この最初の記事では、Workflow の機能とこれから解決する例について説明します。 2 つ目の記事では、Workflow の管理を担うプロファクションの構成と実装について詳しく説明します。 最後に、ウェブアプリケーションを通じて Workflow にある情報にアクセスする方法を説明します。 InterSystems IRIS Workflow Engine この Workflow 機能を説明するには、IRIS ドキュメントに記載の説明をコピーするのが一番でしょう。 #Angular #InterSystems IRIS #InterSystems IRIS for Health #Health Connect Open Exchange app 0 0 0 15
記事 Toshihiko Minamoto · 2025年5月22日 7m read InterSystems IRIS Workflow Engine によるタスクのフロー - 構成 前回の記事では、一般的な概念と、InterSystems IRIS に統合されたタスクエンジンを使用して解決する問題を紹介しました。今回の記事では、相互運用性プロダクションを構成してソリューションを提供する方法を確認します。 Workflow Engine の構成 First we are going to define the roles of the tasks that we are going to manage, in our example we are going to define two types: AutomaticBloodPressureRole: ユーザーの介入が不要な自動タスクを作成します。 ManualBloodPressureRole: ユーザーが手動で検証する必要のあるタスクを作成します。 #Angular #InterSystems IRIS #InterSystems IRIS for Health #Health Connect Open Exchange app 0 0 0 17
記事 Toshihiko Minamoto · 2025年5月20日 7m read IRIS で Django と Vue.js を使ったウェブアプリケーションの作成_ Django フレームワークを覗いてみよう Django フレームワークは長年学習したいと思ってきましたが、いつも他の差し迫ったプロジェクトが優先されてきました。 多くの開発者と同様に、機械学習においては Python を使用していますが、初めてウェブプログラミングについて学習したころは、PHP がまだまだ優勢でした。そのため、機械学習の作品を公開する目的でウェブアプリケーションを作成するための新しい複雑なフレームワークを選択する機会が訪れても、私は依然として PHP に目を向けていました。 ウェブサイトの構築には Laravel と呼ばれるフレームワークを使用してきましたが、この PHP フレームワークから最新の MVC(モデルビューコントローラー)というウェブプログラミングのパターンに出会いました。 さらに複雑なことに、私は最新の JavaScript フレームワークを使用してフロントエンドを構築するのを好んでいます。 React を使用するのがより一般的のようですが、私は Vue.js に一番慣れているため、このプロジェクトではそれを使用することにしました。 なぜ複雑なフレームワークを使用するのでしょうか? Django、Laravel、React、または Vue などのフレームワークを学習する際の最大の難関は何でしょうか? #API #CSS #GitHub #JavaScript #JSON #Python #フレームワーク #フロントエンド #InterSystems IRIS Open Exchange app 0 0 0 35
記事 Toshihiko Minamoto · 2025年5月16日 4m read OwnObjectScriptExtension で ObjectScript 開発を強化 OwnObjectScriptExtension #DevOps #オープンソース #ヒントとコツ #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 38
記事 Toshihiko Minamoto · 2025年5月14日 9m read DB.Changelog: SQL トリガーと CodeMode = objectgenerator を使ってデータベースの変更を追跡する お客様のプロジェクトにおいて、どのようにすればいつ何時に誰がデータベースを変更したかを追跡できるか問われました。 SQL とオブジェクトへの両方のアクセスで Insert、Update、および Delete を追跡することが目的です。 以下は、変更ログを維持するために作成したテーブルです。 #SQL #InterSystems IRIS 0 0 0 19
記事 Tomoko Furuzono · 2025年5月13日 1m read 各DDLデータ型とInterSystems IRISデータ型のマッピング定義 IRISから他DDLのデータを参照したり取り込んだりする場合、各DDLのデータ型はそれと同等の InterSystems IRIS データ型にマッピングされます。 マッピングの定義は、管理ポータル、および、下記ドキュメントページでご確認いただけます。 管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [システムDDLマッピング] #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 23
記事 Mihoko Iijima · 2025年2月27日 1m read ソリューションセミナー:アーカイブビデオ一覧 皆さん、こんにちは! 2025年2月から開始しました「InterSystems ソリューションセミナー」アーカイブビデオのまとめページを作成しました。 ソリューションセミナーでは、企業の様々な課題に対する解決方法と、それを InterSystems 製品を活用してどのように解決するかについて各回テーマを設けご紹介してまいります。 #Webセミナー #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 61
記事 Megumi Kakechi · 2025年4月22日 5m read ADO.NET Managed Provider を使用してクラスクエリを実行し、結果セットを取得するサンプル 先日、お客様よりタイトルのご質問をいただき、サンプルコードを作成しました。せっかくですので、こちらでも共有したいと思います。 今回は、データベースの空き容量情報を取得する、%SYS.DatabaseQueryクラスのFreeSpaceクエリを使用したサンプルとします。 C#.Net と VB.Net で作成してみました。 ★C#.Net #.NET #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 33
記事 Tomoko Furuzono · 2025年4月17日 1m read メソッドの実装に使用する言語を明示するーLanguage(メソッド・キーワード)の指定について これは、InterSystems FAQサイトの記事です。 メソッドの実装に使用する言語を明示する場合は、下記のようにメソッドキーワードで「Language=~~~」と指定します。 Method name(formal_spec) As returnclass [ Language = language ] { //implementation } 指定できるLanguageの値は下記のとおりです。 #CSP #ObjectScript #Python #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 35
記事 Toshihiko Minamoto · 2025年4月11日 10m read Iris における Django アプリケーションの実行 説明 これは、ネイティブウェブアプリケーションとして IRIS にデプロイできる Django アプリケーションのテンプレートです。 インストール リポジトリをクローンする 仮想環境を作成する 要件をインストールする docker-compose ファイルを実行する git clone cd iris-django-template python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt docker-compose up 使用法 ベース URL は http://localhost:53795/django/ です。 #API #CSP #Docker #JSON #Python #REST API #SQL #セキュリティ #フレームワーク #InterSystems IRIS Open Exchange app 0 0 0 22
記事 Tomoko Furuzono · 2025年4月10日 2m read Webゲートウェイの設定値をプログラムで変更する これは、InterSystems FAQ サイトの記事です。 ※Caché/Ensembleの「CSPゲートウェイ」は、IRISでは「Webゲートウェイ」と名称が変更されています。 これに伴い、サービス名も、「%Service_CSP」 ⇒ 「%Service_WebGateway」となっています。 以下は、IRISベースの名称で記載しておりますので、適宜読み替えてご参照ください。 #CSP #Web Gateway #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 32
記事 Tomoko Furuzono · 2025年4月10日 1m read サーバのIPアドレスやマシン名をオブジェクトスクリプトで取得する これはInterSystems FAQサイトの記事です。 サーバのIPアドレスやマシン名は、%SYSTEM.INetInfoクラスのメソッドで取得することが出来ます。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 26
記事 Tomoko Furuzono · 2025年4月7日 1m read 全角/半角混在文字列から指定された幅の文字列を取得する方法 これはInterSystems FAQサイトの記事です。 指定した文字列式のうち指定したフィールド幅(半角での文字数)に収まる文字数を取得する関数:$ZPOSITIONと、部分文字列を返す関数:$EXTRACTを組み合わせることによって、全角/半角混在文字列から、指定された幅の文字列を取得することが出来ます。※$Extractは文字単位で処理を行いますので、全角/半角を区別した取り扱いはできません。 構文: #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 37
記事 Tomoko Furuzono · 2025年4月7日 1m read インストールマニフェストを利用したアプリケーションのデプロイ これは、InterSystems FAQ サイトの記事です。 InterSystems製品では、%Installerユーティリティによりインストール・マニフェストを定義することができます。これを利用することにより、複雑な構成設定を自動化することが可能になります。これは特に、複数の同様なアプリケーションデプロイを行うときに大変有効です。 インストール・マニフェストの詳細については、下記のドキュメントページをご参照ください。インストール・マニフェストの作成および使用 #デプロイ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Tomoko Furuzono · 2025年4月3日 1m read ロードバランサやプロキシサーバ経由でアクセスしている接続元クライアントIPを取得する方法 これは、InterSystems FAQ サイトの記事です。 HTTPプロキシサーバまたは負荷分散装置(ロードバランサ)を経由してウェブサーバに接続するクライアントの送信元IPアドレスを特定する際は、HTTPヘッダ:X-Forwarded-For (XFF) を取得しますが、IRISでは以下で取得できます。 set ip = %request.GetCgiEnv("HTTP_X_FORWARDED_FOR") #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 42
記事 Tomoko Furuzono · 2025年4月3日 3m read 二要素認証について これは、InterSystems FAQ サイトの記事です。 InterSystems製品は、二要素認証をサポートしています。下記ドキュメントページに詳細について記載がありますので、ご参照ください。2要素認証 以下、例として、スマートフォン用認証アプリを用いて、IRIS上のCSPアプリケーションの2要素認証を行うための設定方法を解説します。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 21
記事 Hiroshi Sato · 2025年4月2日 2m read IRIS for MACにODBCでアクセスする方法その2 その1で設定したODBCのシステムDSNを使って、LibreOfficeからアクセスしてみたいと思います。 ここでLibreOfficeをデスクトップから起動すると、詳細は不明ですが、日本語の表示がうまくできません。 (ロケール情報が正しく取得できていない様です) なので、少し面倒なのですがターミナルから起動する必要があります。 起動する前にロケールが正しく設定されているか確認する必要があります。一般的には、LC_ALLは設定されていないので、この環境変数に値を設定してエクスポートします。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 26
記事 Hiroshi Sato · 2025年4月2日 3m read IRIS for MacにODBCアクセスする方法 その1 Mac版のIRISにSQLを使用して他ツールからアクセスするケースはそもそも少ないと思いますが、DBeaverにJDBCを使用してアクセスできることはこのコミュニティの住人であれば、知っている人は結構いるかと思います。 しかし今回ちょっと理由があってMac上のIRISにODBCを使ってアクセスする方法についてトライしてみました。 ここではその備忘録を書き留めておこうと思います。 実際の所、Mac上のクライアントツールでODBCでアクセスできるツールもそんなにないのですが、 候補としてMS-Excel(MS-Query経由)またはLibreOfficeがありました。 まず結論としてExcelは色々とトライしましたが、原因不明ですがうまくつながりませんでした。 (どうもExcel(MS-Query)が拒絶している感じです) LibreOfficeは何とか接続でき、データの取得はできる様になりました。 まず、前準備としてODBC Driver Managerというものをセットアップする必要があります。 #JDBC #ODBC #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 29
記事 Hiroshi Sato · 2025年4月1日 1m read IRISから外部のWebAPIを呼び出したとき、レスポンス内の全角文字が化ける これは InterSystems FAQ サイトの記事です。 Content-Typeにcharset 情報が含まれていない場合、IRIS/Cachéは文字コードを判断できず文字コード変換が行われません。 そこで、以下のように、「自動的な文字変換を行わず、UTF-8に変換する処理を記述」することで、その指定がある無しに関わらず、対応することができます。 #JSON #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 36