お知らせ Mihoko Iijima · 2022年11月7日 Embedded Python セルフラーニングビデオ「IRISでPythonを使ってみよう」を公開しました! 開発者の皆さん、こんにちは! 開発者コミュニティのYouTubeプレイリストに新しいセルフラーニングビデオを公開しましたのでお知らせします📣! ◆ IRISでPythonを使ってみよう! https://www.youtube.com/embed/HFq-IIlejMg?list=PLzSN_5VbNaxBLXlC9oCgwPtxBilT8tJ96[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] ※YouTubeに移動していただくとプレイリストの中から好きなビデオを選択してご覧いただけます。 #Embedded Python #Python #初心者 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 181
記事 Megumi Kakechi · 2022年11月3日 1m read IRISという製品名を選んだのはなぜですか? これは InterSystems FAQ サイトの記事です。 Question: IRISという製品名を選んだのはなぜですか? Answer: IRISは、インターシステムズの製品開発者がソフトウェアを開発する際に常に念頭に置くべき以下の4つの原則の先頭文字を表しています。 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 136
記事 Mihoko Iijima · 2022年10月27日 1m read コンテナ版IRISのコンテナにrootユーザでログインする方法 これは InterSystems FAQ サイトの記事です。 コンテナログイン時、-u オプションで root を指定することでログインできます。 docker exec -it -u root コンテナ名 bash #Docker #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 98
記事 Megumi Kakechi · 2022年10月26日 2m read IRIS が起動時に必要とするポート これは InterSystems FAQ サイトの記事です。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 368
記事 Toshihiko Minamoto · 2022年10月25日 8m read 組み込み Python におけるグローバルの使用 私が一番興味を持っているのは、組み込み Python におけるグローバルの使用についてです。そこで、提供されている公式ドキュメントを確認しました。 #1 グローバルの導入グローバルとは何かについての一般的な説明。 次の章につながっています。 #2 ObjectScript の詳細について組み込み Python の記述はありません。さらに先に進むと... #Embedded Python #Python #グローバル #InterSystems IRIS 1 0 1 209
質問 Yuji Ohata · 2022年10月24日 SQLの実行で意図せぬ結果になる。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 SQLの実行結果について、意図せぬ結果になるものが二点ありますので、利用方法等に誤りがないかを確認させてください。 ①CREATE TABLE Tmp.AAA AS SELECT * FROM Mst.AAA WHERE column = ?⇒管理ポータルで実行しても、?パラメータを置換するダイアログが表示されず、 オンコードで%Execute()しても実行エラーになる。 ★この構文では?パラメータは利用できないのでしょうか? #SQL #InterSystems IRIS 0 8 1 227
記事 Mihoko Iijima · 2022年10月19日 1m read VSCode:クラスメソッド実行文をワンクリックでコピーできるようになりました!(VSCode:ObjectScriptエクステンション) 開発者の皆さん、こんにちは! ターミナルでクラスメソッドを実行するとき、パッケージ名やクラス名などの入力候補が出てこないので、 ##class(パッケージ名.クラス名).メソッド名() の記述をミスったりちょっと面倒だな・・と感じること、ありませんか??(第1回 InterSystems Idea-A-Thon(アイデアソン) でも、もっとシンプルに呼び出せるようにしよう!のアイデアが投稿されていたようです。) (私も含めて)そんな方に、朗報です!📣 #ObjectScript #ターミナル #ヒントとコツ #InterSystems IRIS #VSCode Open Exchange app 2 0 0 287
記事 Toshihiko Minamoto · 2022年10月19日 9m read Django 入門 パート 1 しばらく前、IRIS 用 Django の新しいドライバーを導入しました。 そこで実際に、IRIS で Django を使用する方法を見てみましょう。 #Python #InterSystems IRIS Open Exchange app 0 0 0 302
記事 Hiroshi Sato · 2022年10月14日 2m read CachéでCache Directエミュレータを使っているアプリケーションをIRISのCache Directエミュレータに書き換える方法 IRISでは.Net Binding機能が非推奨になったため、VisM.OCXの置き換えのために用意していたCaché版Cache Directエミュレータ(.Net Binding機能を使用していたため)の使用も非推奨となりました。そこでIRISのNative API機能を使用して書き換えたものを作成し、OpenExchange(以下のFAQトピックを参照してください)に登録しています。 FAQのトピック Caché版Cache Directエミュレータを使っているアプリケーションをIRISに移行するためには、IRIS用のCache Directエミュレータに置き換えて、アプリケーションのコードをいくつか書き換える必要があります。 内容は、それぞれのプロジェクトに含まれるコンソールアプリケーションサンプル(consoleApp.cs)を比較することで大体理解できると思いますが、以下にその手順について説明します。 #.NET #ヒントとコツ #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 1 0 0 218
記事 Megumi Kakechi · 2022年10月13日 4m read デプロイモードで別環境にプログラムを配布する方法 以下、デプロイモード(配置モード)でプログラムを配布する方法を2つご紹介します。 ① DB内のソースコードをデプロイモードでエクスポートする方法 ② ソースコード用DBを用意してIRIS.datごとデプロイモードにする方法 ①は、プログラムのみデプロイモードでエクスポート/インポートできるので、初回システム構築時はもちろん、プログラムの修正が発生した時などソースの一部のみエクスポートすることも可能となります。②は、IRIS.dat ごとデプロイするので初回システム構築時に IRIS.dat のみ配置すればよく手順が単純です。 クラスがデプロイモードになると、そのクラスのメソッドとトリガのソースコードは削除されます。クラスがデータ型クラスである場合、クエリキャッシュによって実行時にメソッド定義が必要になる可能性があるために、メソッド定義が保持されるのでご注意ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 157
記事 Toshihiko Minamoto · 2022年10月11日 2m read python openpyxl ライブラリを使用して IRIS クエリを Excel ファイルにエクスポートするためのモジュール 皆さん、こんにちは。 このプロジェクトをコンテストに応募します。 エクスポートモジュールは、多くのプロジェクトに不可欠であり、通常、本番サーバーにて使用されています。 属性初期化モジュールの呼び出しにて、さまざまなシナリオを実装しました。GCR で実証する多くの追加プロジェクトによる最大化と、本番インスタンスにネイティブにインストールするための最小化の両方です。 #ツール #InterSystems IRIS Open Exchange app 0 0 0 135
記事 Megumi Kakechi · 2022年10月6日 4m read メッセージログ(messages.log) のログ深刻度が 2 以上でメールを送るようにする方法 Caché/Ensemble 時代からご使用のお客様にはなじみの機能だと思いますが、IRISには「システムがインスタンスのメッセージログ/messages.log(Cachéの場合は コンソールログ/cconsole.log) を監視し、ログ・レベル2(重大なエラー) 以上 のアラートを受け取るとメールを送信する」ログ・モニター機能があります。この機能を使用すると、アラートログ (alerts.log)へのログ書き込み管理のほかに、メールを送信することもできます。 メール送信の設定は、^MONMGR ユーティリティを使用して簡単に行えます。 以下に、サンプルをご案内します。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 204
記事 Toshihiko Minamoto · 2022年10月5日 4m read Djangoへようこそ IRIS における Python サポートの最近の改善と、InterSystems による Python DB-API サポートへの継続的な作業により、 Django プロジェクトに IRIS サポートを実装しました。Python DB-API の使用により、他のデータベースと連携することが可能です。 Django で、IRIS にデータを保存する単純なアプリケーションを試してみましょう。 #Embedded Python #Python #フレームワーク #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 224
お知らせ Maki Hashizawa · 2022年10月4日 【プレゼンテーション動画を公開】Python + iKnowpy ・・・IRISが変えるデータ分析 開発者の皆様、こんにちは。 インタ―システムズでは、本年7月に、「国際モダンホスピタルショウ 2022」に、3年ぶりに出展致しました。 ブースには、ミニシアターを設け、業界をリードする多くの方やパートナー企業様にプレゼンテーションをいただき、その動画を公開しています。 本日は、その中で、アプリケーション開発者の皆様に参考となる IRISを解説いただいたプレゼンテーション動画をご紹介させていただきます。 「Python + iknowpy... + IRISが変えるデータ分析 アプリケーション編」 #Python #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 62
記事 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 74
記事 Toshihiko Minamoto · 2022年9月26日 8m read プログラムによるインターオペラビリティの実行例 プログラムによる本番環境アクセス プログラムで本番環境(インターフェース)を編集するには、相互運用性 apis と SQL クエリを組み合わせて使用できます。 現在のネームスペース 大まかに言えば、その時点で作業しているネームスペースと本番環境を知ることが重要です。 // Object script // アクティブなネームスペースはこの変数に格納される $$$NAMESPACE // ネームスペースを出力 Write $$$NAMESPACE # Python import iris # このメソッドからアクティブなネームスペースが返される iris.utils._OriginalNamespace() # ネームスペースを出力 print(iris.utils._OriginalNamespace()) >>> DEMONSTRATION 現在の本番環境(アクティブまたは最後に実行した本番環境) 本番環境の名前を知ることも重要です。次の API を使用してネームスペース内のアクティブな本番環境を取得できます。 #Embedded Python #ObjectScript #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 118
記事 Megumi Kakechi · 2022年9月21日 2m read SQL ゲートウェイを使用した外部データベースへのアクセス方法について SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。 手順は以下になります。 1. 外部ソースへの SQL ゲートウェイ接続の作成を行います ※こちらの例では、IRISの別インスタンスへの接続を試しています。 ※ODBCを使用される場合は、事前にシステムDSN(64bit)の準備が必要です。管理ポータルより [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。 接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。 #JDBC #ODBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 295
記事 Toshihiko Minamoto · 2022年9月20日 6m read データ移行ツール パート III: DB2 から IRISへ これは、市場に出回っている主なデータベースから InterSystems IRIS への移行に関する連載第 3 回目の記事です。 このパートでは、DB2 からの移行手続きを説明します。前の記事で説明したとおり、現時点ではいくつかの移行オプションが存在しますが、 最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。 # データのインポートとエクスポート #InterSystems IRIS 0 0 0 206
お知らせ Mihoko Iijima · 2022年9月19日 ★受賞者発表!★ InterSystems Interoperability コンテスト: サステナブルなソリューションの構築 開発者の皆さん、こんにちは! InterSystems Interoperability コンテスト: サステナブルなソリューションの構築 の勝者が発表されました! この記事ではコンテスト受講者を発表します 📢 #コンテスト #InterSystems IRIS #InterSystems IRIS for Health #IRIS contest #Open Exchange 0 0 0 73
お知らせ Mihoko Iijima · 2022年9月15日 ★投票開始!★ InterSystems Interoperability コンテスト: サステナブルなソリューションの構築 開発者の皆さん、こんにちは! サステナブルなソリューションの構築をテーマとした Interoperability プログラミングコンテストの投票が開始されました! 🔥 ベストアプリケーションはこれだ! 🔥 と思う作品にぜひ投票お願いします! 投票方法は以下ご参照ください。 #InterSystems IRIS #InterSystems IRIS for Health #IRIS contest #Open Exchange 0 0 0 55
記事 Toshihiko Minamoto · 2022年9月14日 2m read VSCode のTips & Tricks - Web ターミナル VSCode から直接 Web ターミナルにアクセスしたいと思いませんか? #ヒントとコツ #開発環境 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 184
質問 Yuji Ohata · 2022年9月13日 テーブルアクセス結果の取得APIについて。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在開発している処理の中で、大量データをSELECT & INSERTする処理があり、合計で91分かかっています。この処理で用いるSQLは実行結果を再利用したい等の意図があったため、ScrollableResultSetを用いていましたが、このAPI自体がSQL実行時に全件ループを回したり、そもそも古いAPIとの事であったため、%SQL.Statementに書き換えたところ、62分まで短縮することが出来ました。 ここからが問題なのですが、更なる処理時間の軽減のために時間がかかる処理を調査していたところ、カラム情報を取得する%Get()メソッドにコストがかかっていることがわかりました。なので現在はこれを改善したいと思っております。 こちらで動作を見たところ、最速は下記でいう所の「rset.name」でこちらを利用すると、41分まで削減されます。 #InterSystems IRIS 0 4 0 201
記事 Toshihiko Minamoto · 2022年9月10日 49m read Python のみを使用した InterSystems のインターオペラビリティフレームワーク このフォーメーションは私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースとリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。 #API #Embedded Python #Python #データベース #フレームワーク #ベストプラクティス #Ensemble #InterSystems IRIS #VSCode #学習ポータル 1 0 0 174
記事 Megumi Kakechi · 2022年9月9日 3m read データベースをバックアップする際の停止時間をできるだけ短くしたいとき これは InterSystems FAQ サイトの記事です。外部バックアップ機能と、SANソリューションが提供するスナップショット(スナップクローン、ミラークローンなど呼び方はベンダ毎に異なります)などのテクノロジを利用することで、バックアップ時のインスタンス停止時間を最短にすることができます。 操作手順概要は以下の通りです。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 147
記事 Megumi Kakechi · 2022年9月5日 2m read Web経由でイメージファイルを IRIS にアップロード/ダウンロードする方法 これは InterSystems FAQ サイトの記事です。 Web 経由でのイメージファイルのアップロード/ダウンロードを行うサンプルをご紹介します。サンプルでは、以下の手順でファイルの「アップロード/ダウンロード」を行っています。 Stream型のプロパティをもったクラスを用意する upload ボタン押下でイメージファイルをIRISサーバにアップロードする アップロードされたデータを %request.MimeData で受け取り CopyFromAndSave メソッドを使ってコピー&1 のクラスに保存する アップロードされたファイルを画面に表示する download ボタンを押下し、1 のクラスに保存したファイルをローカルにダウンロードする。 サンプルプログラムの使い方は次のとおりです。 #CSP #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 181
InterSystems公式 Toshihiko Minamoto · 2022年9月4日 InterSystems IRIS, IRIS for Health, HealthShare Health Connect 2022.2 開発者向けプレビュー6が公開されました これは、2022.2の開発者プレビュープログラムのリリース第6弾です。 プレビューリリースは、隔週で更新される予定で、準備が整い次第、機能を追加していく予定です。 2022.2では、SQL管理、クラウド統合、KafkaおよびJMSアダプタ、SQL Loaderなどにおいて、多くのアップデート、修正、機能強化が行われています。 製品改善のため、開発者コミュニティを通じてフィードバックをお寄せください。 列指向ストレージに関して、Early Access Program (EAP) を受け付けています。ご興味のある方はぜひ Early Access Program にご参加ください。 開発者向けプレビューでは、Ubuntu 22.04 LTSやLinux FHEL 9に対応しています。 #リリース #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 95
記事 Toshihiko Minamoto · 2022年8月31日 7m read データ移行ツール - パート IV: Microsoft SQL Server から IRIS これは、市場に出回っている主なデータベースから InterSystems IRIS への移行に関する連載第 4 回目の記事です。 このパートでは、Microsoft SQL Server から移行するための手順を説明します。 前の記事で説明したとおり、現時点ではいくつかの移行オプションが存在しますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。 # データのインポートとエクスポート #InterSystems IRIS 0 0 0 169
記事 Megumi Kakechi · 2022年8月30日 4m read 各アクセス方法(ダイレクト/SQL/オブジェクトアクセス)による速度の違いについて これは InterSystems FAQ サイトの記事です。InterSystems IRIS Data Platform(以下IRISと表記)ではマルチモデルのサポートにより、データに対して様々なアクセス手法を使用することができます。 主だったアクセス手法としてダイレクトアクセス、SQLアクセス、オブジェクトアクセスがあります。 ダイレクトアクセス は、IRISのネイティブ構造であるグローバルと呼ばれるキーバリュー型のデータに直接アクセスする方法です。 SQLアクセス は、リレーショナルデータベースシステムにアクセスするための標準言語であるSQLを使用してデータにアクセスする方法です。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 282
記事 Hiroshi Sato · 2022年8月28日 1m read 特定のテーブルデータのみをロールバックしないようにする これは InterSystems FAQ サイトの記事です。 実行ログデータなどトランザクション中にロールバックが発生しても前の状態に戻ってほしくないデータがあります。 それらのデータをロールバックされないデータベースIRISTEMPに配置することで上記の要件に対応できます。 一時グローバルと IRISTEMP データベース ロールバックさせたくないテーブルの実体をこのデータベースにマッピングすることでロールバック後に情報を残すことができます。 ただし、このデータベースはIRIS再起動で内容がクリアされますので、永続的に保持したい場合には、いずれかのタイミング(ロールバック後等)で永続テーブルにコピーを行う必要があります。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 167
記事 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 81