記事 Hiroshi Sato · 2021年11月29日 2m read イメージファイルをFTPサーバからアップロード/ダウンロードする方法 これは、InterSystems FAQサイトの記事です。 FTPサーバから、アップロード/ダウンロードする方法は以下の通りです。 1. FTPサーバにイメージファイルをアップロードする #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 264
記事 Megumi Kakechi · 2022年3月31日 1m read インスタンス(構成)名を変更する方法 これは、InterSystems FAQサイトの記事です。 Windowsでは、変更することはできませんが、Unix系プラットフォームでは、iris rename コマンドを使用することで変更できます。 iris rename instname(現インスタンス名) newname(新インスタンス名) iris rename コマンドの詳細は、以下ドキュメントをご参照くださいiris コマンドについて #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 233
記事 Megumi Kakechi · 2022年7月31日 2m read 任意のカスタムエラーを発生させる方法 これは InterSystems FAQ サイトの記事です。TRYブロック内で任意のカスタムエラーを発生させたい場合、以下のように throw で例外を渡すことが可能です。 以下のサンプルでは、Stcount が 1 より小さい場合にカスタムエラーを発生させています。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 329
記事 Mihoko Iijima · 2024年2月29日 5m read インデックス再構築が終わるまで新しく定義したインデックスを使用させない方法 これは InterSystems FAQ サイトの記事です。 新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。 インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。) これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。 ※ 2024/8/2: 2024.1以降から利用できる方法を追加しました。 #SQL #インデックス付け #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 280
記事 Mihoko Iijima · 2025年1月13日 1m read ALARMエラーが発生する理由 これは InterSystems FAQ サイトの記事です。 <ALARM>エラーは、クライアントアプリでタイムアウトが発生し、その結果InterSytemsサーバのプロセスがあわせて終了している状況をあらわしています。 クライアントアプリで、タイムアウト設定を無効にすることで回避できる可能性があります。 例えば、クライアントアプリから初回実行するSQL文がある場合、初回実行時のみInterSystems製品内部にクエリキャッシュ(=コンパイル済クエリ)を生成するため(※1)通常実行よりも時間がかかります(2回目以降の実行ではコンパイルは行われません)。 例えば、コンパイルに非常に時間がかかるSQL文の初回実行をクライアントアプリから命令し、タイムアウト以内に応答が戻らない場合 <ALARM> エラーが発生します。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 31
記事 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 14
記事 Toshihiko Minamoto · 2020年12月16日 1m read TLS/SSL で OS の証明書ストアを使用する Windows と Mac で InterSystems IRIS 2019.1 (および 2018.1.2) の SSL/TLS 設定に認証局 (CA) の証明書を簡単に追加する新しい方法ができました。 IRIS にオペレーティングシステムの証明書ストアを使用することを要求するために、 %OSCertificateStore を "信頼された証明書機関 X.509 証明書を含むファイル" のフィールドに入力します。 以下はポータルでそれを実行する方法を示した画像です。 また、これについて説明したドキュメントへのリンクはこちらです。 "信頼された証明書機関の証明書を含むファイル" のオプションの中を探してください。 #SSL #セキュリティ #ヒントとコツ #ベストプラクティス #InterSystems IRIS 0 0 0 256
記事 Megumi Kakechi · 2021年3月2日 2m read データベースの空き容量をプログラムで取得する方法 これは InterSystems FAQ サイトの記事です。 管理ポータル:システムオペレーション > データベース にあるオプションボタン(ラジオボタン)「空き容量ビュー」で表示される内容は、システムクラス SYS.Database のFreeSpace クエリで取得可能です。 次のようなコードでクエリを実行します。 例:(%SYSネームスペースにて作成、実行します) #システム管理 #ツール #データベース #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 356
記事 Megumi Kakechi · 2021年4月7日 4m read ファイル入出力処理をスクリプトで記述する方法 これは InterSystems FAQ サイトの記事です。ファイル入出力処理を行うには、ライブラリクラスを利用する方法が便利です。 ライブラリクラスを使用する以外には、Open/Use/Close コマンドを使用する方法もあります。<※1> ファイル入出力処理には、%Library.Fileクラス、%Stream.FileCharacter/%Stream.FileBinary を使用します。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.4K
記事 Mihoko Iijima · 2021年5月23日 2m read イメージファイルを FTP サーバからアップロード/ダウンロードする方法ご紹介 これは InterSystems FAQ サイトの記事です。 %Net.FtpSession クラスを使用して FTP サーバから、アップロード/ダウンロードする方法をご紹介します。 1. FTPサーバにイメージファイルをアップロードする #FTP #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 313
記事 Mihoko Iijima · 2021年6月22日 1m read 複数のバージョンをインストールした環境で ODBC ドライバを切り替える方法 これは InterSystems FAQ サイトの記事です。 同一システムに InterSystems 製品を複数インストールした場合、ドライバマネージャに登録される InterSystems 用の ODBCドライバは、インストールされた製品の中で最新バージョンのドライバが登録されたままとなります。 以下のレジストリエントリを変更することで、任意のドライバへ変更できます。 なお、RegFiles.bat 実行では ODBCドライバは切り替わらないのでご注意ください。 レジストリエントリは、以下の通りです。 #ODBC #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 917
記事 Mihoko Iijima · 2021年8月23日 1m read 管理ポータルの InterSystems IRIS Business Intelligence 用メニュー:Analytics(または DeepSee)関連ページを開くとエラーになる場合の対処方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS Business Intelligence 用メニューの Analytics(または DeepSee)を使用するためには、使用するネームスペース用ウェブアプリケーションパスを Analytics(またはDeepSee)に対応するように設定変更する必要があります。 詳細については以下のドキュメントをご参照ください。 【IRIS】InterSystems IRIS Business Intelligence の Web アプリケーション設定について 【2015.1~2018.1】DeepSee の Web アプリケーション設定について 【~2014.1】%CSPページへのアプリケーション・アクセスの制御について/特殊なケース: DeepSee #ヒントとコツ #分析 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 138
記事 Hiroshi Sato · 2021年10月12日 2m read %Net.FtpSession クラスを使用してファイルサイズを取得する方法 これはInterSystems FAQ サイトの記事です。ファイルサイズを取得する専用メソッドはありませんが、%Net.FtpSession クラスの sendCommand() メソッドを通してFTPのSIZEコマンドを呼び出し、サイズを取得できます。 簡単な利用例をご紹介します。 まず、以下の様なクラスを定義します。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 336
記事 Mihoko Iijima · 2022年4月8日 4m read SYS.Database クラスの FreeSpace クエリを使用してデータベースのあるディスクの空き容量を確認する方法 これは、InterSystems FAQサイトの記事です。 システムユーティリティクラス:SYS.Database のクエリ:FreeSpace を利用してディスクの空き容量を任意のタイミングで確認することができます。 #システム管理 #データベース #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 197
記事 Megumi Kakechi · 2022年8月8日 3m read テーブルデータ一括削除の際にジャーナルデータを最小限にする方法 これは InterSystems FAQ サイトの記事です。 テーブル(クラス) のデータを削除する際に %KillExtent() というメソッドを使用すると、レコードを1ずつ削除するのではなく、データを格納しているデータグローバル、インデックス定義のグローバル(ノード) をまとめて 削除することができます。 #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 291
記事 Mihoko Iijima · 2023年10月3日 4m read 5つの便利なSQL関数のご紹介 開発者の皆さん、こんにちは! この記事では、Muhammad Waseem さんが(US開発者コミュニティに)投稿された「SQLのスキルを次のレベルに引き上げることのできる5つの便利なSQL関数」の記事についてご紹介します。 ✅ SQLに関わらず、IRIS/Caché全般で日頃利用されている便利な機能、使い方、関数などなどありましたら、ぜひコミュニティで共有いただければと思います。 ✅ 現在「技術文書ライティングコンテスト」開催中です! 🎁 参加賞/特賞 🏆ありますので、ぜひチャレンジしてみてください! 以下、Muhammad さんの記事です。 この記事では、5つの便利なSQL関数の説明を実行例と共にご紹介します👇 COALESCE RANK DENSE_RANK ROW_NUMBER Function to Get Running Totals まずは、COALESCE関数から始めてみましょう #SQL #ヒントとコツ #初心者 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 592
記事 Megumi Kakechi · 2024年3月3日 2m read ユーザではなくロールに対してSQL権限を割り当てる方法 これは InterSystems FAQ サイトの記事です。 ユーザに権限を与えたい場合、「GRANT」コマンドや「GrantPrivilegeメソッド」を使用しますが、ロールに対しても権限を与えることができます。 例えば、特定スキーマにのみ何でもできるロールを作成し、それを特定のユーザに割り当てるようなことが可能となります。 こちらの記事では、その方法をご紹介します。 (1) GrantPrivilegeメソッドを使用して「スキーマXXX に何でもできるロール」を作成し、(2) 該当ユーザに (1) のロールを割り当てる ★GRANT文を使う場合 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 119
記事 Megumi Kakechi · 2025年1月14日 2m read messages.log に出力される SuperServer failed to start slave server のエラーメッセージについて これは InterSystems FAQ サイトの記事です。 09/04/24-14:37:47:260 (2575554) 2 [Utility.Event] ISCLOG: SuperServer Super Server job slave failure ns=%SYS rtn=%SYS.SERVER 09/04/24-14:37:47:260 (2575554) 2 [Utility.Event] SuperServer failed to start slave server メッセージログ(cconsole.log/messages.log)の上記のようなログは、スーパーサーバ/SuperServer(既定:1972ポート)に対して外部からリクエストがあったが、リクエストに対応する子プロセスの起動に失敗した場合に記録されます。 スーパーサーバへの新規接続に対してスーパーサーバがJOBコマンド(タイムアウトあり)を実行したが、タイムアウト時間内にJOBコマンドが完了しなかったケースなどが考えられます。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 68
記事 Mihoko Iijima · 2020年10月25日 2m read %Net.HttpRequest クラスを使用して https のアクセスでエラーが発生したときに確認したいこと これはInterSystems FAQ サイトの記事です。 %Net.HttpRequest クラスの SSLConfiguration プロパティに SSL/TLS 構成の「クライアント」構成名が指定されているかご確認ください。 %Net.HttpRequest クラスを使用して、https の url にアクセスするためには、以下のドキュメントに記載されている SSL/TLS 構成 の「クライアント」構成を作成して指定した名前を SSLConfiguration プロパティに指定する必要があります。 SSL/TLS構成のクライアント構成方法 #SSL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 499
記事 Megumi Kakechi · 2020年12月17日 1m read 選択性の数値について これはInterSystems FAQ サイトの記事です。 選択性(または Selectivity)の数値とは、カラムに対するユニークデータの割合を示す数値です。 例) Person テーブルの個別値である PID カラム、住所のうち都道府県名が入る Pref カラム Pref カラムの選択性 = 約 2% PID カラム(ユニーク属性のカラム)の選択性 = 1 InterSystems製品のクエリオプティマイザは、クエリ実行経路(プラン)とインデックスの選択を決定するため、エクステントサイズ(テーブル内のレコード数)と選択性の数値を使用します。 詳細は下記ドキュメントページをご参照ください。 テーブルの最適化【IRIS】 #SQL #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 367
記事 Mihoko Iijima · 2021年3月5日 2m read 累積バックアップと差分バックアップの違いについて これは InterSystems FAQ サイトの記事です。 ※ ここで説明するバックアップ方法は、外部バックアップ(##class(Backup.General).ExternalFreeze()を使用する方法)ではご利用いただけません。 その1(差分) 毎週日曜日1時にフルバックアップ、月曜日~土曜日の1時に差分バックアップを取得しているとします。 差分バックアップは、前日の1時に取得したバックアップからの更新ブロックが含まれるバックアップです。 #システム管理 #バックアップ #ヒントとコツ #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 761
記事 Mihoko Iijima · 2021年4月9日 1m read 関数・メソッドの引数に可変長引数を渡すことができるかどうか これは InterSystems FAQ サイトの記事です。 引数名の後ろに ... をつけることで可変の引数を渡すことができます。 ObjectScript では、配列を使って任意の数の引数を渡すことができます。 例文は以下の通りです。例文では、メソッド実行後に確認しやすいように、グローバル変数(=データベースに格納される変数)に引数の情報を設定しています。 Class TEST.ARGTEST1 Extends %RegisteredObject { ClassMethod NewMethod1(Arg... As %String) As %Boolean { kill ^a merge ^a = Arg } } ターミナルで実行した結果は以下の通りです。 #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 363
記事 Megumi Kakechi · 2021年5月27日 1m read Windows上での共有メモリの割り当てについて これは InterSystems FAQ サイトの記事です。 InterSystems Data Platformは、データベースキャッシュやルーチンキャッシュなどの共有メモリを、起動時に割り当てます。 バージョン2007.1以降をWindows上で動作させる際、Windows特有の共有メモリに関する問題が生じることが判明しています。 詳細については、以下の技術資料をご参照ください。 Windows上での共有メモリの割り当てについて また、以下の記事もあわせてご覧ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 535
記事 Toshihiko Minamoto · 2021年6月23日 10m read InterSystems Cachéのマクロ この記事では、InterSystems Cachéにおけるマクロについて説明します。 マクロは、コンパイル中に一連の命令に置き換えられるシンボリック名です。 マクロは、渡されたパラメーターとアクティブ化したシナリオに応じて、呼び出されるたびに一連の命令セットに「展開」されます。 これは、静的コードの場合もあれば、ObjectScriptを実行して得られる結果である場合もあります。 それでは、アプリケーションでマクロをどのように使用できるのかを見てみましょう。 #ObjectScript #コンパイラ #ターミナル #ヒントとコツ #ベストプラクティス #初心者 #Caché 0 0 0 323
記事 Megumi Kakechi · 2021年8月25日 2m read リレーションシップの処理中に大量メモリが使用されてしまう場合の対処法について これは InterSystems FAQ サイトの記事です。 リレーションシップが設定されており 1対n の n が多量の場合、そのリレーションシップの順次処理などで大量のメモリ消費となるケースがあります。 プログラムの中で多側オブジェクトを参照し内部的にスウィズル処理した後には、そのOREFを含む変数の解放(削除、他の値の設定など)だけでは、その多側オブジェクトとリレーションシップオブジェクトが解放されないことが原因です。 それらを完全にメモリから解放するためには、OREF変数の解放とRelationshipオブジェクトの%UnSwizzleAt<%Library.RelationshipObject >メソッドの実行による明示的なメモリ解放が必要です。 - 使用例 - #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 6 0 297
記事 Megumi Kakechi · 2022年10月26日 2m read IRIS が起動時に必要とするポート これは InterSystems FAQ サイトの記事です。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 633
記事 Mihoko Iijima · 2024年3月4日 9m read オブジェクト同時(並行)処理オプションについて これは InterSystems FAQ サイトの記事です。 永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。 ご参考:オブジェクト同時処理のオプション 既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します) 並行処理の基本事項は以下の通りです。 #オブジェクトデータモデル #データベースのトランザクション処理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 149
記事 Mihoko Iijima · 2024年5月20日 5m read 並行外部バックアップの仕組みとバックアップとリストア方法について InterSystems製品のバックアップ方法の中の3つの目方法は、「並行外部バックアップ」についてです。 この方法は外部バックアップと異なり、スナップショットなどのストレージ機能がない環境に向いている方法でオンラインバックアップよりも高速にバックアップできます。(古いバージョンのInterSystems製品でも利用できるバックアップ方法です。) ただし、バックアップやリストア手順が複雑になります。 並行外部バックアップの利用を検討される際は、事前にリストア手順についてもテスト環境などでご確認いただくことを推奨します。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 147
記事 Megumi Kakechi · 2024年7月28日 2m read SQLでレコードをSelectするとSQLエラー -114 が発生します これは InterSystems FAQ サイトの記事です。通常SQLCODE -114(一致する行が既に別のユーザにロックされています)のエラーはロックが競合した場合に発生します。 こちらはレコードロック競合があったり、ロック閾値を超える更新を行いテーブルロックに昇格した際に、そのテーブルレコードに対して別のプロセスよりSelectを行い共有ロックを取ろうとして失敗した(ロック待ちがタイムアウトとなった)場合に発生します。 Selectで共有ロックを取る場合というのは、IRIS の ISOLATION LEVEL がREAD COMMITTED(デフォルトはREAD UNCOMMITTED)で、Selectを行った場合です。 #SQL #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 133
記事 Megumi Kakechi · 2025年7月6日 2m read サポートOSはどこを見て確認したらよいか?サポートされているプラットフォームについて これは InterSystems FAQ サイトの記事です。各InterSystems製品のサポートOS情報は、製品ドキュメントの「サポートプラットフォーム」情報で確認できます。 製品ドキュメントは、弊社ホームページ > サポート > ドキュメント よりご確認いただけます。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 10