記事 Hiroshi Sato · 2022年7月25日 1m read ミラーリングでデータベース以外のファイルを同期する方法 これは InterSystems FAQ サイトの記事です。 ミラーリングが同期の対象とするのはデータベースファイルのみです。 アプリケーションに必要なその他のファイル(CSPファイル、画像ファイル、ドキュメントファイルなど)をミラーセットを構成する二台のサーバー間で同期させるには、 NASなどを導入して共有ディスク上にそれらのファイルを配置する方法 または同期ソフトを導入して二台のサーバー間のファイルを同期させる方法 などの方法が考えられます。 また、2の方法ではWindows上ではRoboCopy、Linuxの場合にはrsyncという同期ソフトを使った実例があります。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 114
記事 Hiroshi Sato · 2022年7月20日 2m read IRISの開始/停止の状態をファイルに出力する方法 irisコマンドのqlistまたはlistを使用して出力先をファイルにして出力することができます。 qlistの結果は、^を区切り文字としたテキスト形式で出力されます。 ^で区切られた3番目の部分に稼働状況のデータがあります。 $ iris qlist IRIS > iris.log $ cat iris.log IRIS^/Applications/iris^2022.1.0.164.0^running, since Thu Apr 7 16:37:03 2022^iris.cpf^1972^52773^0^alert^IRIS^^^/Applications/iris listの場合には、先頭にstatus:と表示された行に稼働状況のデータがあります。 Unix系のOSの場合 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 91
記事 Hiroshi Sato · 2022年7月20日 2m read タスクの起動でエラーが発生した時にメールで通知する方法 タスク成功時・失敗時、それぞれ通知メールを送信することができます。 そのためには事前にターミナルからTASKMGRルーチン を実行して、メールサーバを登録する必要があります。 > zn "%SYS" > do ^TASKMGR1) タスク作成2) タスク編集3) タスク一覧4) タスク削除5) タスク一時停止6) タスク再開7) タスク実行8) タスクリポート9) タスクマネージャオプション10) 終了 そして、メニューから9) タスクマネージャーオプションを選んで #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 251
記事 Hiroshi Sato · 2022年7月11日 2m read ルーチンやクラスメソッドをWindowsのコマンドプロンプトから呼び出す方法 iris コマンドを使用することで実行できます。iris コマンド(iris.exe)は、<インストールディレクトリ>\bin にインストールされています。 書式: iris run インスタンス名 tag^routine([parameter-list]) ネームスペース名iris run インスタンス名 ##CLASS(package.class).method([parameter-list]) ネームスペース名 インスタンス名は、管理ポータル(システム管理ポータル)の右上にある [インスタンス:] に表示されている文字列です。 実行する環境に応じて一部の文字 ^ や " をエスケープする必要があります。 Windowsの場合は、以下のようなエスケープが必要となります。 例: USERネームスペースで do info^test(123,"abc") を実行します。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 370
記事 Hiroshi Sato · 2022年7月11日 3m read InterSystems IRISをインストールする場合の最低システム要件 CPU:サポート対象OSが問題なく動作するもの以下のページをご参考ください。 サポート対象プラットフォーム ディスク容量:アプリケーションの要件を除外した場合、 IRISをインストールするためには、最低1.5GB以上の空き容量が必要です。 ディスク容量の最小要件 実際に必要となる容量は、インストーラでセットアップタイプで "カスタム(Custom)" #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 388
記事 Hiroshi Sato · 2022年7月11日 1m read 外部の Pythonファイル を Embedded Python で呼び出す方法 IRISがc:\InterSystems\IRISにインストールされているとします。(1) a.py を C:\InterSystems\IRIS\lib\python に置きます。 a.py def test(): print('Hello World!') (2) それを IRISのクラスから実行します。 ClassMethod xx() [ Language = python ]{ import a a.test()} #Embedded Python #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 328
記事 Hiroshi Sato · 2022年6月1日 3m read ODBCを利用してVisM.OCX(Cache Direct)をエミュレーションする Cachéでは、今後の新しいOSのサポート、例えばWindows 11やWindows 2022のサポートは行われないことになりました。 いよいよ新しいサーバハードウェアを導入するとCachéが使えなくなる可能性が高くなってきました。 皆さんIRISへの移行をお早目にご検討ください。 IRISへの移行の際に障害となるものの1つがVisM.OCXを利用したアプリケーションの移行です。 IRISでもこの機能は制限付きで利用可能です。 しかし、そのためには少々面倒な手続きが必要です。 (この手続きについてはインターシステムズにお問い合わせください) しかもこの手続きも暫定処置で将来なくなる可能性もゼロではありません。 ところでなんでそんな面倒くさい手続きが必要なのと感じた人もいると思います。 その理由は、 VisM.OCXがマイクロソフトの非常に古い技術を利用していて、開発元のマイクロソフトもそれを全くサポートしていませんし、セキュリティ脆弱性への対応等も全く行われていません。 そんな技術なんで、インターシステムズも技術サポートするのが困難です。 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 261
記事 Hiroshi Sato · 2022年3月27日 2m read .Net Gateway(オブジェクトゲートウェイ)で外部DLLを使用する方法 これはInterSystems FAQ サイトの記事です。 まず予め Visual Studioを使用して、呼び出したい内容のクラスライブラリを作成します。 そのプロジェクトをコンパイルし、DLLを作成します。 管理ポータルでオブジェクトゲートウェイを作成します。 システム管理 > 構成 > 接続性 > オブジェクトゲートウェイ ゲートウェイ名 : testGateway サーバ名 / IPアドレス : 127.0.0.1 ポート : 55000 (後はデフォルト) testGateway を開始します。 ※管理ポータルから、もしくはコマンドから開始できます。 do ##class(%Net.Remote.Service).StartGateway(gateway.Name) #ヒントとコツ #相互運用性 #Caché #Ensemble 0 0 0 293
記事 Hiroshi Sato · 2022年3月23日 2m read 現在使用しているリレーショナルデータベースで壁に突き当たっています。インターシステムズのテクノロジを利用することはできますか。 もし現在ご使用のデータベース技術で壁に突き当たっていると感じておられるならば、是非InterSystems IRIS Data Platformへの移行をご検討ください。 (以下IRIS) IRISに移行するに際して、現行のプログラム資産を全て書き換える必要はありません。 IRISに移行する際には、以下の手順で進めることを推奨しております。 アプリケーションコードをそのまま流用し、動作させるために、現在のデータベースからIRISへの移行を行います。 既存のRDBMSのデータ定義(DDL文で記述されたもの)をIRISに取り込むことで、リレーショナルとオブジェクトの両モデルからアクセスが可能となるため、必要に応じてオブジェクト・アクセスが妥当である処理に対しては、アプリケーションプログラムの修正など、対応策が選択できます。 さらにXMLやJSONなどのドキュメント形式のデータの取り扱いも容易ですので、RestFullなアプリケーション構築にも向いています。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 141
記事 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
記事 Hiroshi Sato · 2022年3月23日 1m read ObjectScript言語でイメージファイルをWEBサーバからダウンロードする方法 これは InterSystems FAQ サイトの記事です。 以下のコードは、http://www.intersystems.com/images/intersystems-header-logo.gif をダウンロードし、c:\temp\test.jpgとしてファイルを保存する例になります。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 122
記事 Hiroshi Sato · 2021年12月28日 2m read コンパイルフラグについて これは InterSystems FAQ サイトの記事です。 コンパイル時のフラグや修飾子の記号と意味については、以下ドキュメントをご参照ください。 コンパイルフラグについて【IRIS】 コンパイルフラグについて なお、開発環境のスタジオやVisual Studio Codeでは、開発環境の設定画面でフラグを変更できます。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 538
記事 Hiroshi Sato · 2021年12月28日 1m read MS Accessからのクエリで取得されるデータ項目値が全て"#Deleted"と表示される場合の対処方法 これは、InterSystems FAQサイトの記事です。 データ項目の値が”#Deleted"と表示される場合、MS Accessの設定でこの問題を回避することができます(MS Access2016以降)。 MS Accessのオプションより、「大きい数値(BigInt)データ型をサポート」にチェックを入れます。 設定後、リンクテーブルを一度閉じて、リンクの更新を行います。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 7.4K
記事 Hiroshi Sato · 2021年12月21日 1m read 監査ログをプログラムで出力(ユーザやイベント指定など)する方法 これは、InterSystems FAQサイトの記事です。 監査ログをプログラミングで出力するために、監査ログの一覧を取得する%SYS.Audit クラスのListクエリを利用することができます。 サンプルコードは以下のようになります。 Set statement=##class(%SQL.Statement).%New() Set status=statement.%PrepareClassQuery("%SYS.Audit","List") Set rs=statement.%Execute() Set tab = $char(9) While rs.%Next() { Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),! } #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 130
記事 Hiroshi Sato · 2021年12月20日 1m read <EXTERNAL INTERRUPT>エラーの原因と対処法 これは、InterSystems FAQサイトの記事です。 CSPアプリケーションでは、リクエスト処理時間がサーバー応答タイムアウト値(CSPゲートウェイ管理ページで設定、既定値60 sec)を経過すると、CSPゲートウェイからクライアントブラウザにタイムアウトを通知し、処理を続けているデータプラットフォームサーバプロセスにエラーを発生させます。 エラーが発生している処理を確認して頂き、処理遅延の改善、例えばタイムアウトが発生しないように処理内容を見直して応答時間を短くすることや必要に応じてサーバ応答タイムアウト値を大きくすることで対処可能です。 #CSP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 296
記事 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 139
記事 Hiroshi Sato · 2021年11月24日 1m read InterSystems製品開始時に特定の処理を実行する方法 これは InterSystems FAQ サイトの記事です。 InterSystems製品開始時に、OSの実行ファイルやコマンド、InterSystems製品内に作成したプログラムを実行したい場合は SYSTEM^%ZSTART ルーチンに処理を記述します。 (%ZSTARTルーチンは%SYSネームスペースで作成します) SYSTEM^%ZSTART に記述する処理は、事前にあらゆる条件下でうまく動作することを確認してください。 ^%ZSTART ルーチンの記述ミスや、記述は正しくとも起動時にコマンドが応答を返さなかったり処理でエラーが起こった場合、InterSystems製品が起動できなくなることがあります。 詳しくは、以下ドキュメントをご参照ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 177
記事 Hiroshi Sato · 2021年11月11日 3m read InterSystems 製品の設定内容をインポート/エクスポートする方法 これは InterSystems FAQ サイトの記事です。 設定内容によって、方法が異なります。 システム構成について管理ポータルの [システム管理] > [構成] 以下の設定については(※1)、パラメータファイル(InterSystems IRISは iris.cpf、Caché/Ensemble/HealthShareは cache.cpf) に格納されます。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 398
記事 Hiroshi Sato · 2021年11月11日 1m read ODBCのクエリタイムアウトを回避する方法 これは InterSystems FAQ サイトの記事です。 タイムアウトを無効にするためには、DSNの設定でクエリタイムアウト無効に設定します。 Windowsコントロールパネル > [管理ツール] > [データソース(ODBC)] > [システムDSN]の構成 で クエリタイムアウト無効 にチェックを入れますと、タイムアウトは無効になります。 アプリケーション側で変更する場合は、ODBC APIレベルで設定することが可能です。 ODBCのSQLSetStmtAttr関数をコールする際に、SQL_ATTR_QUERY_TIMEOUT属性を設定してから、データソースに接続してください。 #ODBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 8.3K
記事 Hiroshi Sato · 2021年11月11日 1m read バックアップ先に共有フォルダを指定できますか? これは InterSystems FAQ サイトの記事です。 バックアップ先に、共有フォルダを指定することは可能ですが、推奨しません。 バックアップの最終フェーズのDBアクセスを禁止する箇所で万一ネットワークエラー等で、バックアップがハングアップすることがあれば、システム全体に影響が及ぶリスクがあります。 #バックアップ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 115