記事 Megumi Kakechi · 2024年5月6日 4m read LinuxでJDBC接続を行う方法 前回、LinuxでODBC接続を行う方法 をご紹介しました。 今回は、LinuxでJDBC接続を行う方法 をご紹介します。作業は、root ユーザ で行います。 はじめに、Linuxのバージョンを確認します。 #JDBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 996
記事 Megumi Kakechi · 2024年5月2日 3m read LinuxでODBC接続を行う方法 こちらの記事では、LinuxでODBC接続の設定を行う方法をご紹介します。 はじめに、Linuxのバージョンを確認します。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 623
記事 Megumi Kakechi · 2024年5月24日 4m read Linuxで SSL/TLS を使用して JDBC 接続を行う方法 こちら の記事では、LinuxでJDBC接続を行う方法 をご紹介しました。 今回は、SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成 した IRIS に対して、JDBCで SSL/TLS 接続をする方法をご紹介します。 LinuxでJDBC接続を行う方法 の記事で紹介している手順で、SSL/TLS なしでJDBC接続できる環境を用意していることを前提にご説明します。 手順は以下のようになります。手順の詳細は、この後で説明します。 #Java #SQL #セキュリティ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 344
記事 Akio Hashimoto · 2024年10月4日 3m read Embedded Python を利用する時の注意点 IRISはPythonの豊富なライブラリや既存のPythonプログラムをそのまま利用する事も、COS内でネイティブにコーディングする事も可能となりました。 しかし開発において、いくつかの問題点があります。 1. Pythonのバージョン Pythonを使ったプロジェクトを構築していると、バージョンの問題にあたる時があります。 古いバージョンで開発していたところに、使いたいライブラリが対応していなかった等です。 しかし、IRISのEmbedded Pythonを利用する場合には、Pythonランタイムのバージョンに影響される為、プロジェクトで使用するバージョンは、プロジェクト単位はなく、IRISのバージョン単位で決まってしまいます。 また、現時点ではこのPythonランタイムをアップグレードする事はできません。 #Embedded Python #コンテスト #InterSystems IRIS 6 0 0 309
記事 Megumi Kakechi · 2024年5月27日 4m read Linuxで SSL/TLS を使用して ODBC 接続を行う方法 こちら の記事では、LinuxでODBC接続を行う方法 をご紹介しました。 今回は、SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成 した IRIS に対して、ODBCで SSL/TLS 接続をする方法をご紹介します。 LinuxでODBC接続を行う方法 の記事で紹介している手順で、SSL/TLS なしでODBC接続できる環境を用意していることを前提にご説明します。 手順は以下のようになります。手順の詳細は、この後で説明します。 #ODBC #SSL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 309
記事 Akio Hashimoto · 2024年7月5日 2m read %DynamicObjectを外部Pythonの引数に利用する方法 IRISでPythonを扱う時に、既存の%DynamicObject型の値をそのまま利用したいと思うのですが、Embedded Pythonは自動で%DynamicObjectをdict型にはしてくれません。親和性はとてもあるのですが。。。 そこで、既存プログラムで生成した%DynamicObject型の値をPython側、特に外部のPythonファイル側でdict型を期待している関数に利用するにはどうすれば良いか。 少しスマートではありませんが、%DynamicObjectを一旦JSON文字列に置き換え、Embedded Python 内でJSON文字列からdict型に変換する方法しかないようです。 以下が、その手順です。 #Embedded Python #InterSystems IRIS for Health #InterSystems IRIS 3 5 0 198
記事 Mihoko Iijima · 2024年7月4日 9m read Embedded Python利用時にエラーが発生した場合の対応方法のご紹介 これは InterSystems FAQ サイトの記事です。 PythonスクリプトファイルやPythonで記述されたIRIS内メソッドを呼び出す際、エラーが発生した場合の対応方法をご紹介します。 説明使用するコードや資料PDFは公開しています👉 test1.py、FS.Utilsクラス、コードのコピー元、ビデオで解説している資料PDF Embedded Python 自習用ビデオをご用意しています(項目別にYouTubeプレイリストをご用意しています)。 各プレイリストについて詳しくはこちらをご参照ください👉【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開! #Embedded Python #ObjectScript #Python #エラーハンドリング #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 249
InterSystems公式 Ayumu Tanaka · 2024年6月2日 2m read 2024年5月30日 – 勧告: REST と SOAP でのライセンス消費の変更について #REST API #SOAP #InterSystems IRIS #InterSystems IRIS for Health #Health Connect #InterSystems公式 0 0 0 234
記事 Saori Murata · 2024年9月30日 19m read IRIS環境設定の自動化について~インストールマニフェストの利用~ 開発者の皆さん、こんにちは! InterSystems IRIS(以下、IRIS)を使用したアプリケーション開発において、皆さんは環境設定をどうされていますか? 私は最近になって、「インストールマニフェスト」という機能があることを知りました。 これは、管理ポータルでポチポチしていた作業をコード化・自動化できる強力なツールです! 最初こそとっつきづらかったものの良いところがたくさんあるなと思ったので、簡単にではありますが皆さんにその良さと始め方をご紹介したいと思います。 なお、私が使用しているIRISバージョンは以下です。 2022.1 バージョンが異なる場合、違う書き方になっているもの等が存在する場合がありますので、 公式ドキュメント等を参照し適宜読み替えていただければと思います。 #Embedded Python #GitHub #XML #コンテスト #スタジオ #ターミナル #相互運用性 #管理ポータル #開発環境 #InterSystems IRIS 24 0 1 232
記事 ima · 2024年7月20日 24m read ObjectScript/埋め込みPythonオブジェクトデータ解析ツール 埋め込みPythonは、同じプロセス空間で、IRIS言語とPython言語を組み合わせて使える面白い環境を提供しますが、組み合わせて使う場合、オブジェクトタイプとそのアクセス方法の違いをはっきり意識して使わないと混乱するように思います。その使い分けの勉強の為、両言語のオブジェクト参照から、その構造を解析ダンプするツールを作ってみました。とくに、実行中のPython情報が、ZWRITE Oref コマンドでの表示しかないようなので、有用かも知れません。ツールは、まだ、間違い、改良等があると思います(教えて下さい)が、ポストします。 ツール本体: Py.Dump.cls #Embedded Python #InterSystems IRIS 2 1 0 209
記事 Mihoko Iijima · 2024年5月16日 27m read オンラインバックアップの仕組みとバックアップとリストア方法について この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「オンラインバックアップ」の仕組みと、バックアップ・リストア手順について解説します。 オンラインバックアップは、InterSystems製品が用意するバックアップ機能を利用する方法で、バックアップ対象に設定した全データベースの使用済ブロックをバックアップする方法です。 InterSystems製品のデータベースには、サーバ側で記述したコード、テーブル定義/クラス定義、データ(レコード、永続オブジェクト、グローバル)が格納されていますので、これらすべてが1つのファイルにバックアップされます。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 229
記事 Megumi Kakechi · 2024年7月1日 6m read This CPU is not supported by this version of IRIS***, which requires "AVX" and "BMI" CPU instructions. これは InterSystems FAQ サイトの記事です。 IRIS2024.1以降のバージョンをインストールしようとした際に、以下のようなエラーになることがあります。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 3 0 0 225
記事 Toshihiko Minamoto · 2024年8月16日 12m read VSCode を使った ObjectScript コードのデバッグ Visual Studio Code(VSCode)は、市場で最も一般的なコードエディターです。 Microsoft によって制作され、無料 IDE として配布されています。 VSCode は ObjectScript などの多数のプログラミング言語をサポートしており、2018 年までは Atelier(Eclipse ベース)もサポートしていました。 InterSystems 製品開発の主なオプションの 1 つとして考えられていましたが、 2018 年、InterSystems 開発者コミュニティが VSCode のサポートを発表した際に、関連する InterSystems のプロユーザーらが実際にこのエディターを使用し始め、以来、特に新しいテクノロジー(Docker、Kubernetes、NodeJS、Angular、React、DevOps、GitLab など)を使用する開発者の間でその使用が続いています。 VSCode の一番の機能の中にはデバッグ機能が挙げられます。 そこで、この記事では、クラスコードや %CSP.REST コードなどの ObjectScript コードをデバッグする方法を詳しく紹介します。 #VSCode #デバッグ #ベストプラクティス #InterSystems IRIS 2 0 1 190
記事 Mihoko Iijima · 2024年5月16日 26m read 外部バックアップの仕組みとバックアップとリストア方法について 開発者の皆さん、こんにちは。 この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「外部バックアップ」の仕組みと、バックアップ・リストア手順について解説します。 まず、「外部バックアップ」とは、InterSystems製品の専用ルーチン使用せず、InterSystems製品以外のバックアップソリューションを使用してデータベースをバックアップする方法で、現時点の推奨されるバックアップ方法です。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 188
記事 Megumi Kakechi · 2024年6月23日 7m read IRISでシャドウイングの代わりにミラーリングを構成する方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS では、シャドウイングは非推奨機能となりました。 こちらのトピックでは、これまでにCachéでシャドウイングを使用していたお客様に対して、IRISへの移行後に、代わりに使用できるミラーリングの構成方法をご紹介します。 ミラーリングには機能的に2つの種類があります。 1.同期ミラーによるフェールオーバー(常にデータベースが同期されて複製、障害時に自動でフェールオーバー) 2.非同期ミラー(シャドウイングと同様の機能を提供) - DR非同期(DR構成で利用、フェールオーバーへの昇格が可能、複製DBへの書き込み不可) - レポーティング非同期(データマイニング/BIアプリでの利用、複製DBへの書き込み可能) シャドウイングに代わって、IRISでは「プライマリ・フェイルオーバー」+「非同期ミラー」でミラーリングを構成する機能を利用することができます。 #ヒントとコツ #高可用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 183
記事 Toshihiko Minamoto · 2024年5月9日 3m read VS Code の統合ターミナルで ObjectScript コマンドを実行する方法 VS Code でファイルを編集しているときに、グローバル値のチェックやいくつかの ObjectScript コマンドの実行が必要だったことはありませんか? これが可能になりました。しかもセットアップは不要です! vscode-objectscript 拡張機能バージョン 2.10.0 以上を持っており、InterSystems IRIS 2023.3 以降に接続している場合は、サーバーの場所に関係なくサーバーへのターミナル接続を開けるようになりました。 この新しいターミナルを開く方法には 3 つあります。 #ターミナル #ヒントとコツ #ベストプラクティス #開発環境 #InterSystems IRIS #VSCode 2 0 0 181
記事 So Ochi · 2024年10月13日 10m read IRIS開発における生成AIの活用について はじめに 生成AIを活用したアプリケーション開発は、Python、JavaScriptなどのメジャー言語による体験記事がよく見られます。一方、IRISのObjectScriptの開発に言及された記事は比較的少ないのが現状です。そこで、本記事では生成AIがObjectScriptの開発にどこまで活用できるのかを検証しました。 特にDevOpsのプロセスにおいて、生成AIは様々なシーンでの活用が期待できます。今回は開発工程に注目し、以下の観点から生成AIの有効性を調査しました。 開発 コードの自動生成 環境構築のアシスタント(テーブルの作成) 検証 テストデータ生成のサポート 環境 本記事の検証は以下の環境で行いました。 開発環境 #API #ChatGPT #Generative AI (GenAI) #JSON #ObjectScript #REST API #SQL #VSCode #コンテスト #InterSystems IRIS 12 0 0 161
記事 Megumi Kakechi · 2024年8月15日 2m read IRISでエクスポートしたクラスやルーチンをCacheにインポートする方法 通常、Caché でエクスポートしたクラスやルーチンをIRISにインポートすることは可能ですが、IRISよりエクスポートしたクラスやルーチンを Caché にインポートすることはできません。 Caché にインポートしようとすると、以下のようなエラーになります。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 2 0 121
記事 Hiroshi Sato · 2024年12月4日 1m read openpyxl data_only=Trueとしても式の入っているセルの値がnoneになる Embedded Pythonの導入に伴い、1つ嬉しいことは、直接エクセルファイルの読み書きができるようになったことです。 それでこの機能を使って、ミニ業務改革をちょこちょこ行なっているのですが、そこでちょっとハマったことを共有します。 実際この内容は実はIRISとは全く関係ないのですが、このDCコミュニティの皆さんが同じことでハマった場合に少しでも早く問題解決できるように情報共有します。 エクセルの計算式の入ったセルの値を読み取るときには、そのファイルのオープンの際にdata_only=Trueというフラグをつけないといけないのですが、そのファイルがopenpyxlで読み書きしたファイルの場合に、その計算式のセルの値(Noneとなる)がうまく読めないことがあります。 その場合には、そのファイルをエクセルで開いて再保存することで、正しく読むことができます。以下にそのあたりの内容を説明したページがあります。 元ネタ #Embedded Python #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 153
記事 Megumi Kakechi · 2024年6月11日 6m read スーパーサーバポートを SSL/TLS 設定した後、管理ポータルに接続できなくなった場合の対処方法 SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成した際に、「管理ポータルに接続できなくなった」というお問い合わせを時々いただきます。こちらの記事では、その際の対処法をご案内します。 スーパーサーバを SSL/TLS 化するために、以下のドキュメントにある方法を設定されると思います。TLS を使用するための InterSystems IRIS スーパーサーバの構成 その際に、SSL/TLSサポートレベル を 「必須」にしてしまうと、管理ポータルに接続できなくなる場合があります。 #システム管理 #セキュリティ #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 152
記事 Megumi Kakechi · 2024年7月23日 4m read リンクテーブルと外部テーブルについて これは InterSystems FAQ サイトの記事です。 JDBC および ODBC 経由でInterSystemsIRISから外部データベースにアクセスしたい場合、SQLゲートウェイを使用しリンクテーブルを作成して接続できます。 2023.1以降のバージョンでは、リンクテーブルに加えて、外部テーブル/FOREIGN TABLE を使用することが可能となりました(2024.1時点で実験的機能)。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 145
記事 Hiroshi Sato · 2024年9月12日 2m read IIS上のWebGateway管理画面にアクセスすると404エラーが返ってくる場合の対処法 これは InterSystems FAQ サイトの記事です。 404エラーが返される場合に、以下の対応でエラーが解消されることがわかっています。 (1) binの接続を許可 /cspの構成エディタ>セクションで以下選択 system.webServer > security > requestFiltering > hiddenSegmets 選択 > (コレクション)の右欄(Count=xx)の右端 [...] クリック > segment欄に binの行があったので、選択して削除 > 画面戻って、右上の [適用] クリック または、IISの構成ファイルを直接編集することでも対応可能です。 C:\Windows\System32\inetsrv\config\applicationHost.config #CSP #セキュリティ #Caché #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 139
記事 Mihoko Iijima · 2024年8月9日 36m read Text to IRIS SQL with LangChain:Pythonプログラミングコンテスト受賞作品紹介! 開発者の皆さん、こんにちは! この記事は、2024年7月に開催された「InterSystems Pythonプログラミングコンテスト2024」でエキスパート投票、コミュニティ投票の両方で1位を獲得された @Henry Pereira さん @José Pereira さん @Henrique Dias さんが開発された sqlzilla について、アプリを動かしてみた感想と、中の構造について @José Pereira さんが投稿された「Text to IRIS with LangChain」の翻訳をご紹介します。 第2回 InterSystems Japan 技術文書ライティングコンテスト 開催! では、生成AIに関連する記事を投稿いただくと、ボーナスポイントを4点獲得できます📢 @José Pereira さんの記事を💡ヒント💡に皆様の操作体験談、アイデアなどを共有いただければと思います。 開発されたアプリSQLzilla についての概要ですが、Open Exchange の sqlzilla のREADMEに以下のように紹介されています。 「SQLzilla は、Python と AI のパワーを活用して、自然言語の SQL クエリ生成を通じてデータ アクセスを簡素化し、複雑なデータ クエリとプログラミング経験の少ないユーザーとの間のギャップを埋めます。」 #Generative AI (GenAI) #Python #SQL #Vector Search #データベース #InterSystems IRIS Open Exchange app 1 1 0 117
記事 Mihoko Iijima · 2024年5月20日 5m read 並行外部バックアップの仕組みとバックアップとリストア方法について InterSystems製品のバックアップ方法の中の3つの目方法は、「並行外部バックアップ」についてです。 この方法は外部バックアップと異なり、スナップショットなどのストレージ機能がない環境に向いている方法でオンラインバックアップよりも高速にバックアップできます。(古いバージョンのInterSystems製品でも利用できるバックアップ方法です。) ただし、バックアップやリストア手順が複雑になります。 並行外部バックアップの利用を検討される際は、事前にリストア手順についてもテスト環境などでご確認いただくことを推奨します。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #Health Connect #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 129
記事 Toshihiko Minamoto · 2024年6月26日 8m read ベクトル化の(ほぼ)サポート 近頃、LLM や AI などに関する話題で非常ににぎわっています。 ベクトルデータベースもそれなりに関わっており、IRIS 以外では、世界中で多様なサポートがすでに実現されています。 なぜベクトルなのでしょうか? 類似検索: ベクトルでは、データベース内で最も類似する項目やドキュメントを検索するなど、効率的な類似検索が可能です。 従来のリレーショナルデータベースは完全一致検索向けに設計されているため、画像やテキストの類似検索といったタスクには向いていません。 柔軟性: ベクトル表現には汎用性があり、テキスト(Word2Vec、BERT などの埋め込み経由)や画像(ディープラーニングモデル経由)などの様々なデータタイプから導き出すことができます。 クロスモーダル検索: ベクトルでは、様々なデータモダリティでの検索が可能です。 たとえば、画像のベクトル表現を基に、マルチモーダルデータベースで類似する画像や関連するテキストを検索できます。 理由は他にも多数あります。 そこで、この Python コンテストでは、このサポートを実装してみることにしました。 残念ながら時間内に完成させることはできませんでしたが、その理由を以下で説明します。 #Embedded Python #SQL #InterSystems IRIS Open Exchange app 1 0 0 122
記事 Kawasaki Kazuhito · 2024年10月14日 15m read SourceControlを用いた自動ソースチェックツールについて 開発者の皆様はじめまして。 私からはIRISのソースコントロール機能を用いたソースの自動チェック機能のご紹介をしたいと思います。 チーム開発では、ソースの可読性や実装方法等がある程度統一されるようにコーディング規約を作成すると思います。 しかし、メンバーの入れ替わりでコーディング規約の説明をしていても徹底されないことが起こることも少なくありません。 なので、ソースコントロールを使用してコンパイル時に自動的にチェックするようにしました。 IRIS内で完結させるメリットとして、エラーチェックだけでなくチェック後にエラーがなければコンパイルまで自動で行えること、 %Dictionary.ClassDefinition(クラス定義)を使用できるので、チェッククラスを作成しやすいこと等があげられます。 目次 #Embedded Python #GitHub #コンテスト #スタジオ #ソース管理 #開発環境 #InterSystems IRIS 15 0 0 121
記事 Megumi Kakechi · 2024年7月10日 5m read IRISでシャドウイングの代わりにミラーリングを構成する方法-プログラム編 これは InterSystems FAQ サイトの記事です。 こちらの記事では、「IRISでシャドウイングの代わりにミラーリングを構成する方法」を紹介しました。 今回は、「プログラムでシャドウイングの代わりにミラーリングを構成する方法(Windows版)」を紹介します。【今回のサンプル・ミラー構成について】 #Mirroring #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 121
記事 Megumi Kakechi · 2024年7月16日 2m read プログラムでSQLゲートウェイ接続設定を作成する方法 これは InterSystems FAQ サイトの記事です。 SQLゲートウェイの接続設定は管理ポータルで作成できますが、プログラムでも作成が可能です。 管理ポータル:[システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] こちらのトピックでは、ODBC/JDBCそれぞれの設定をプログラムで行う方法をご紹介します。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 113
記事 Mihoko Iijima · 2024年7月16日 9m read 管理ポータルのウェブ・アプリケーションメニューの設定をプログラムで作成する方法 これは InterSystems FAQ サイトの記事です。 管理ポータル > [システム管理] > [セキュリティ] 以下の設定は、%SYSネームスペースにあるSecurityパッケージ以下クラスが提供するメソッドを利用することでプログラムから作成することができます。 以下シナリオに合わせたセキュリティ設定例をご紹介します。 シナリオ:RESTアプリケーション用設定を作成する 事前準備 シナリオの中で使用するソースを2種類インポートします。 アプリケーション用RESTディスパッチクラスをインポートします。 #ObjectScript #システム管理 #セキュリティ #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #Health Connect 1 0 0 110
記事 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 109