記事 Toshihiko Minamoto · 2021年6月17日 4m read Yape - さらに別のpButtonsエクストラクタ(チャートを自動作成) 注記(2019年6月): 多くの変更がありました。最新の情報についてはこちらをご覧ください。 注記(2018年9月): この記事が最初に投稿されて以来、多くの変更がありました。Dockerコンテナバージョンを使用することをお勧めします。コンテナとして実行するためのプロジェクトと説明は、以前と同じGitHubの公開場所に残っていますので、ダウンロードして実行し、必要に応じて変更してください。 #システム管理 #パフォーマンス #ヒントとコツ #ベストプラクティス #監視 #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 97
記事 Mihoko Iijima · 2021年3月9日 3m read アプリケーションエラー(^ERRORS)をコマンドで取得する方法 これは InterSystems FAQ サイトの記事です。 SYS.ApplicationError クラスの ErrorList クエリを使用します。 注意1:%SYS ネームスペースで実行します。 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 96
記事 Hiroshi Sato · 2022年3月23日 2m read 現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか? 質問 現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか? 答え InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。 ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。 また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。(使用されているSQL文等はそのまま流用可能な場合が多いです。) さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 95
記事 Mihoko Iijima · 2024年1月25日 6m read プライベートWebサーバ(PWS)を使用しないバージョンのコンテナ版IRIS利用時のWebサーバ設定例 この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、コンテナ版IRISを利用する場合のWebサーバ設定例をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。) バージョン2023.2以降のコンテナ版IRISを利用する場合、以下いずれかの方法で管理ポータルを含めたWebアクセスを行うための設定が必要です。 任意の場所にWebサーバを用意する Webゲートウェイ用コンテナを利用する この記事では、【Webゲートウェイ用コンテナを利用する】方法についてご紹介します。 #Docker #Web Gateway #コンテナ化 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 95
バージョン2023.2以降のコンテナ版IRISを利用する場合、以下いずれかの方法で管理ポータルを含めたWebアクセスを行うための設定が必要です。 任意の場所にWebサーバを用意する Webゲートウェイ用コンテナを利用する この記事では、【Webゲートウェイ用コンテナを利用する】方法についてご紹介します。
記事 Mihoko Iijima · 2024年1月25日 5m read IISをWebサーバとする場合のプライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、IISをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。) 同一サーバ上にIISとInterSystems製品をインストールする場合、事前にIISを有効化しておくとIISに必要なWebゲートウェイのインストールと設定をIRISのインストーラーが自動で行います。 以降の説明では、以下のインストール方法について解説します。 1. IISを事前に準備しない状態での新規インストール 2. IISを事前に準備しない状態でのアップグレード 3. IISをインストールした後の新規/アップグレードインストール 4. IISの設定 ※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。 #Web Gateway #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 94
記事 Megumi Kakechi · 2023年9月6日 1m read WindowsにWebゲートウェイのみインストールすると503エラーになる場合の対処方法 Windows環境にWebGatewayのみをインストールした場合に、「Service Unavailable / HTTP Error 503. The service is unavailable.」エラーとなりWebアプリケーションに接続できない場合があります。 こちらは、Visual C++ 再頒布可能パッケージ がインストールされていない環境に、Webゲートウェイをインストールした場合に見られる事象です。 Microsoft社のホームページより、Visual C++ 再頒布可能パッケージ(X64)をダウンロードしてインストールしてください。 インストール後IISを再起動し、以下のリンクよりWebゲートウェイ管理ページに接続できることをご確認ください。 #CSP #REST API #Web Gateway #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 92
記事 Mihoko Iijima · 2021年7月5日 1m read Extent クエリの結果が ID 順にならないわけ これは InterSystems FAQ サイトの記事です。 %Persistent クラスに既定で生成される Extent クエリは、ID 順に結果セットを出力することを意図していませんので、これは、仕様通りの動きとなります。 並び順は、設定されているインデックスにより、変わることがあります。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #iKnow #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 92
記事 Megumi Kakechi · 2024年3月11日 2m read SQLのINSERT/UPDATE文でデータ更新時にインデックスを作成しない方法 これは InterSystems FAQ サイトの記事です。 SQLのINSERT/UPDATE/DELETE文で大量のデータを更新する際に、高速化する方法をご紹介します。以下の2つの手順を実行することで、更新処理のパフォーマンスを向上させることが可能です。 1.INSERT/UPDATE/DELETE時にインデックスを作成せず、あとでまとめて作成する 2.INSERT/UPDATE/DELETE時にジャーナルをOFFにする 1は、%NOINDEX キーワードを指定してインデックスの生成を後でまとめて行うことで、インデックスの構築を抑制しパフォーマンスを向上させる方法です。 クエリ実行例は、以下のようになります。 #ObjectScript #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 91
記事 Toshihiko Minamoto · 2021年12月15日 2m read Ensemble とFile Outbound Adapter - ちょっとしたヒント あるお客様の問題から、この短い記事を書くことにしました。 お客様はEnsembleを使用して、多数のシステムを統合しています。一部のシステムではプレーンファイルのみが使用されています。 そのため、ターゲットファイルへの書き込みには、自然とFile Outbound Adapter を選択しました。 数年もの間すべてが順調に稼働していましたが、最近になって、ファイルに書き込まれるデータが数十メガバイトという大きなサイズに達するようになり問題が出てきました。オペレーションが完了するまでに約30分かかるようになり、プロセス内の後続の処理を待たせなければならないタイミングの問題が発生し始めたのです。当然、連携先のシステムはそれほど長く待つことを良しとしません。 お客様のコードは、以下の疑似コードのようなものでした。 #ヒントとコツ #ビジネスオペレーション #Ensemble 1 0 0 91
記事 Mihoko Iijima · 2023年6月13日 1m read プロダクションをリセットする方法、インバウンドアダプタが持つ情報をリセットする方法 これは InterSystems FAQ サイトの記事です。 注意:本番環境では実行しないでください。テスト環境でご利用ください。 開発時にプロダクションに残っているキューを一括でクリアしたり、プロダクションに関連した一次的な情報をすべて消去したい場合、以下メソッドを利用して実行中のプロダクション情報をリセットできます。 #ヒントとコツ #相互運用性 #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 91
記事 Mihoko Iijima · 2023年5月26日 6m read IRISジャーナル(z圧縮済み)をCachéにリストアする方法 これは InterSystems FAQ サイトの記事です。 IRISではジャーナルファイルが自動的に圧縮される仕組みが導入されています。 ジャーナルファイルの圧縮機能について詳しくは、別の記事「ジャーナル圧縮機能について」をご参照ください。 例えば、CachéからIRISへ移行された後に、念のためIRISで更新されたデータを手動でCachéにも反映させたいことばある場合に、IRISのジャーナルファイルをCachéにリストアすることができます。 手順は以下の通りです。 (手順1) IRISのジャーナルファイル(YYYYMMDD.nnnz) ファイルを解凍する(手順2,3) 解凍した ジャーナルファイルを Cachéに転送してリストアする リストアの方法として、以下の2パタンをご紹介 #システム管理 #ジャーナリング #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 90
記事 Mihoko Iijima · 2021年7月5日 1m read データベースの暗号化の仕組み これは InterSystems FAQ サイトの記事です。 バージョン5.1以降、データベース単位に暗号化する仕組みが用意されています。 InterSystems data platform のデータベース暗号化は物理ブロックレベルの暗号化ですので、暗号化のオーバヘッドが非常に少なく、性能への影響が極小化されており、暗号化されている項目のインデックス化に制限等がありません。 関連記事もご参照ください。 データベースの暗号化手順について #ヒントとコツ #暗号化 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 89
記事 Megumi Kakechi · 2023年8月31日 4m read 凍結プラン(Frozen Plan)について IRISをアップグレードすると、SQLクエリオプティマイザの機能向上により、旧バージョンとは異なるクエリプランによるクエリ実行コード(クエリキャッシュ)が作成される場合があります。ほとんどの場合はパフォーマンスが向上するのですが、稀にパフォーマンスが低下するケースもあります。 ・アップグレードによりオプティマイザが改善しているとはいえ、中には遅くなるクエリがあるのではないか?・予期しないSQLの問題が起きるのではないか?・アップグレード後に全てのクエリパターンをテストするには時間と労力がかかりすぎる このように、機能向上よりも安定性を優先して「今までのプランのまま実行したい」というご要望もあることでしょう。こちらの記事では、そのようなお客様への解決策をご案内します。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 87
記事 Mihoko Iijima · 2021年6月14日 1m read TCP接続(OPEN)した際のクライアントのアドレス取得方法 これは InterSystems FAQ サイトの記事です。 接続先クライアントのIPアドレス取得するには、以下の方法で %SYS.ProcessQuery クラスを使用します。 (a) 対象プロセス ID を指定して、ClientIPAddress プロパティ を参照します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 85
記事 Megumi Kakechi · 2023年8月1日 2m read BACK^%ETN でスタックトレースを確認する方法 あるメソッドやルーチンを実行してエラーとなった場合、エラー発生個所はエラーメッセージより取得することができますが、処理の呼び出し履歴(スタックトレース)はエラーメッセージのみではわかりません。また、.Net や Python など IRIS 外からの呼び出しの場合に、エラー情報の詳細がクライアントに返らない場合などもあるかと思います。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 85
記事 Toshihiko Minamoto · 2023年1月29日 1m read 各言語の開発者コミュニティに翻訳記事を投稿する方法 数ヶ国語を知っていて、世界のさまざまな地域のユーザーと知識を共有したいとお考えですか? でしたら、今こそあなたが輝く時です 🤩 開発者コミュニティでは、あなたのオリジナル記事とその翻訳を簡単にリンクさせることができます(翻訳を依頼することも可能です) ではどのように翻訳記事を作成するのか説明しましょう。 #ヒントとコツ #初心者 #開発者コミュニティ公式 0 0 0 83
記事 Mihoko Iijima · 2022年8月25日 1m read データベース xxxENSTEMP、xxxSECONDARY について これは InterSystems FAQ サイトの記事です。 メモ:xxx にはネームスペース名が入ります。 xxxENSTEMPは、プロダクション実行中に作成される一時データが保存されるデータベースです。^IRIS.Temp.Ens* のグローバルがこのデータベースにマッピングされています。なお、xxxENSTEMPはジャーナルにかかれない設定のデータベースです。 xxxSECONDARYは、プロダクションで使用される資格情報を保存するデータベースです。^Ens.SecondaryData* のグローバルがこのデータベースにマッピングされています。 注意:InterSystems IRIS for Health、HealthShare ではこれらデータベースは作成されません 詳細は以下ドキュメントをご覧下さい。 #データベース #ヒントとコツ #相互運用性 #Ensemble #InterSystems IRIS 0 0 0 82
記事 Megumi Kakechi · 2023年5月21日 2m read ストレージ情報をエクスポートしない方法 すべての永続クラス (%Persistent) およびシリアルクラス(%SerialObject) をコンパイルすると、ストレージ定義 が展開されます。ストレージ定義には、オブジェクト保存と検索用のグローバル構造情報、ストレージインタフェースによって使用される追加のパラメータや、ストレージクラスを定義する一連のキーワードや値などが含まれます。 スタジオや ObjectScript コマンドを使用して永続クラスをエクスポートする場合、既定では以下のようなストレージ情報が付与された状態でエクスポートされます。 #スタジオ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 81
記事 Megumi Kakechi · 2022年10月3日 1m read InterSystems IRIS は 2フェーズコミットをサポートしていますか? これは InterSystems FAQ サイトの記事です。 Question: InterSystems IRIS は 2フェーズコミットをサポートしていますか? Answer: サポートしていません。 2フェーズコミットはデータベースシステムがサポートしているだけでは十分ではなく、アプリケーションサーバ等の各実装が定めている2フェーズコミットのプロトコルを駆使して、アプリケーションを構築する必要があります。 また関連するシステムの全てのコンポーネントが対応している必要がある、ロングトランザクションには向いていないなど、現実に実装する局面では様々な制約事項があります。 2フェーズコミットは、技術面、設計および実装面、コスト面、性能面などハードルが非常に高いため、実際には限られた領域での利用に留まっています。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 76
記事 Megumi Kakechi · 2023年3月8日 2m read 2つのグローバルの内容を比較する方法 これは InterSystems FAQ サイトの記事です。 ^%GCMP ユーティリティにて2つのグローバルの内容を比較することができます。 例としてUSERとSAMPLESネームスペースにある、^testと^testを比較する場合は以下のようになります。※以下の例では、2つのネームスペースに全く同じグローバルを700個作り、その中の一つの中身を変えて検出対象としています。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 75
記事 Toshihiko Minamoto · 2024年3月18日 7m read IRIS ターミナルへのアクセス: Visual Studio Code ユーザー向け総合ガイド はじめに #Docker #スタジオ #ターミナル #ツール #ヒントとコツ #InterSystems IRIS #VSCode 2 1 1 74
記事 Megumi Kakechi · 2023年6月27日 1m read Apache Configuration: CSP directive 'csp' detected in VirtualHost, only supported at default server level Apache経由でREST通信する場合、ApacheでRESTを動かす場合の設定方法 (含:Webゲートウェイのインストール手順) の方法 で設定を行います。 この際、Apachの構成ファイル(httpd.conf)にRESTを動かすための設定を入れるのですが、設定後のシンタックスチェックで以下の警告が出る場合があります。 ※httpd -t 実行時 Apache Configuration: CSP directive 'csp' detected in VirtualHost, only supported at default server level こちらは、<VirtualHost> ~ </VirtualHost> 内に、CSP ディレクティブ の内容を設定している場合に出力されます。 CSP on CSPFileTypes * #REST API #Web Gateway #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 73
記事 Toshihiko Minamoto · 2023年8月23日 7m read DeepSee トラブルシューティングガイド この「DeepSee トラブルシューティングガイド」は、DeepSee プロジェクトの問題を追跡して修正する支援を提供することを目的としています。 このガイドラインに従って問題を修正できない場合でも、少なくとも DeepSee サポートに WRC の問題を提出し、すべての証拠を提供するのに十分な情報を得ることができます。この情報によって、一緒に調査を続け、より迅速に解決することが可能となります。 ご注意ください: 特定のアクションやコマンドによってどのような結果がもたらされるかがよくわからない場合は、実行しないでください。本番システムに影響を与える可能性があります。 この場合は、サポートセンターにお問い合わせください。 左から右の操作列に進むと、このガイドを最も簡単に活用できます。 #ヒントとコツ #ベストプラクティス #InterSystems IRIS BI (DeepSee) 1 0 0 72
記事 Toshihiko Minamoto · 2023年7月28日 1m read ターミナルでのライセンスの期限切れメッセージ ターミナルにライセンス期限切れの警告メッセージ(「*\* Warning: This Cache license will expire in 3 days **」)が表示されており、そのメッセージを表示したくない場合は、以下のコマンドを実行すると、メッセージの表示を無効(または有効)にできます。 Do ExpirationMessageOff^%SYS.LICENSE - Disable Do ExpirationMessageOn^%SYS.LICENSE - Enable #API #オブジェクトデータモデル #システム管理 #ターミナル #ヒントとコツ #Caché 0 0 0 68
記事 Toshihiko Minamoto · 2021年10月13日 4m read インターシステムズ開発者コミュニティで学習する方法 パート2: タグ 開発者の皆さん、こんにちは。 ここでは開発者コミュニティでのタグの使用方法ついて説明します。この機能を最大限に活用しましょう! #ヒントとコツ #初心者 #開発者コミュニティ公式 0 0 0 66
記事 Mihoko Iijima · 2023年5月30日 2m read Embedded Pythonから%SYSTEMパッケージ以下クラスを呼び出す方法 これは InterSystems FAQ サイトの記事です。 %SYSTEMパッケージには沢山の便利なシステムクラスがあり、Embedded Pythonでも一般クラスと同様に%SYSTEMパッケージ以下クラスを操作できます(iris.cls("クラス名").メソッド名()で呼び出せます)。 ObjectScriptでは、$SYSTEM特殊変数を利用して、%SYSTEMパッケージ以下クラスのメソッドを呼び出すことができますが、Embedded Pythonでは、iris.system を利用して実行することができます。 以下実行例をご紹介します。 現在のネームスペースを取得する 一般クラスと同じ呼び出し方の例 #Embedded Python #Python #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 64
記事 Megumi Kakechi · 2023年5月15日 2m read グローバルの kill で <SLMSPAN> エラーとなる原因と対処方法 これは InterSystems FAQ サイトの記事です。 サブスクリプトレベルマッピングされたグローバルを、トップノードから全体をkillする場合、<SLMSPAN>エラーとなり削除ができません。 これは、サブスクリプトレベルマッピングされたグローバルについては、マッピングを跨いだサブスクリプト範囲の kill コマンドは行えないためです。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 63
記事 Megumi Kakechi · 2024年1月25日 2m read IRIS REST API でファイルのアップロード/ダウンロードを行う方法 これは InterSystems FAQ サイトの記事です。 こちらの記事 では、HTMLのフォームからRESTを使って画像ファイルをアップロードする方法をご紹介しました。 お客様からは、ダウンロードする方法もあわせてお問い合わせいただくことがあるため、この記事では両方の方法に加え、イメージファイル以外にも対応したサンプルをご紹介します。 サンプルでは、HTMLのフォームから IRIS REST API を呼び出してファイルの「アップロード/ダウンロード」を行っています。 【手順】 #HTML #REST API #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 61
記事 Megumi Kakechi · 2024年2月6日 4m read Native SDK (NativeAPI) for .NET を使用する簡単なサンプルのご紹介 需要はそんなに多くはないのですが、時折「Native SDK (Native API) for .NET の使い方」に関するご質問を受けることがありますので、簡単に試せるサンプルをご紹介します。 Native SDK (Native API) for .NET を使用すると、ObjectScript のクラスメソッドを、ネイティブの .NET メソッドを呼び出すのと同じように、.NET アプリケーションから簡単に呼び出すことができます。また、グローバルへのアクセスも簡単に行えます。こちらの記事では、VB.NET のサンプルコードをご紹介します。 以下の手順で実行していきます。 #.NET #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 54
記事 Seisuke Nakahashi · 2024年1月12日 6m read ^mypButtons を利用して InterSystems IRIS パフォーマンスをチェックしてみましょう [背景] InterSystems IRIS 製品には、便利なツール ^SystemPerformance (Caché / Ensemble 時代は ^pButtons と呼ばれていました) があり、データベースのパフォーマンス情報を HTML 形式で出力してくれます。 IRIS for Windows で ^SystemPerformance を実行すると、 InterSystems 独自のパフォーマンスログ mgstat と Windows パフォーマンスログの両方を含んだ HTML が生成されます。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #InterSystems IRIS Open Exchange app 2 0 0 52