Python から InterSystems IRIS へ接続する方法の1つである「PyODBC」(※)の利用方法をご説明します。

※ Python からのアクセスは、PyODBCの他に、Native API を利用した接続方法もあります。Native APIを利用してIRISのグローバル変数にアクセスする方法については、別の記事でご説明します。

0 4
0 258
InterSystems 開発者コミュニティは 11,123 名の優秀な開発者が参加しているコミュニティです
コーダーが学習や知識の共有を行い、最新情報を入手し、共に楽しく成長できる場所です!

開発者の皆さん、こんにちは!

Full Stackコンテスト 2022 のテクノロジーボーナスについてご紹介します!​​​​​

  • 気候変動問題に関係したもの  - 5
  • isc.rest パッケージ - 2
  • isc.ipm.js パッケージ - 2
  • Embedded Python - 3
  • Adaptive Analytics (AtScale) キューブの使用 - 2
  • Docker コンテナの使用 - 2 
  • ZPM パッケージのデプロイ - 2
  • オンラインデモの作成 - 2
  • ユニットテストの使用 - 2
  • コミュニティへの最初の記事の投稿 - 2
  • コミュニティへの2つ目の記事投稿 - 1
  • Code Quality をパスする - 1
  • YouTube にビデオを投稿する - 3<--break->

1 0
0 6

1. interoperability-embedded-python

この概念実証では、embedded PythonIRIS 相互運用フレームワークをどのように使用できるかについて示すことを目的としています。

1.1. 目次

1.2. 例

import grongier.pex
import iris
import MyResponse

class MyBusinessOperation(grongier.pex.BusinessOperation):

    def OnInit(self):
        print("[Python] ...MyBusinessOperation:OnInit() is called")
        self.LOGINFO("Operation OnInit")
        return

    def OnTeardown(self):
        print("[Python] ...MyBusinessOperation:OnTeardown() is called")
        return

    def OnMessage(self, messageInput):
        if hasattr(messageInput,"_IsA"):
            if messageInput._IsA("Ens.StringRequest"):
                self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}")
        self.LOGINFO("Operation OnMessage")
        response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos")
        return response

1.3. コンポーネントの登録

ObjectScript は不要です

0 0
0 9

@Yuri Marx のお陰で、非常に優れた Postgres から IRIS へのデータベース移行の例を確認できました。
私の個人的な問題は、DBeaver を移行ツールとして使用することです。
特に、以前の IRIS(それから Caché)の強みの 1 つは、JBDC または ODBC でアクセスできる限り任意の外部 Db にアクセスできる SQLgateways を利用できることであったためです。 そこで、これを実演するために、パッケージを拡張しました。

0 0
0 12

開発者の皆さん、こんにちは!21回目の InterSystems プログラミングコンテストを開催します!

お題は👉 🏆 InterSystems Full Stack コンテスト 2022 🏆 です!

期間: 2022年6月27日~7月17日まで(詳細は末尾をご参照ください)

💰賞金総額: $10,000 💰


0 0
0 18

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

現在テーブルを用いてシステムの設計を行っておりますが、
トランザクション中に、そのトランザクションの影響を受けずにテーブルを
更新するような仕組みが欲しいと考えております。
(トランザクションがRollbackされても、そのテーブルの更新だけは確定させたい。)

例えば$INCREMENT()はトランザクション中であっても、その制約を無視して値を更新できます。
そのような回避策がないかをご教示いただきたいです。

 

用途としては、連番を生成するAPIを作成していて、その値をテーブルで管理しています。
このAPIは複数プロセスから呼ばれることがありますが、
1トランザクション中の連続Updateにより、行ロックからテーブルロックへの昇格が行われる
(1000行以上行ロックをしたときのIRISの仕様)ことで、
他プロセスがAPIを利用できなくなるなどの影響が出ています。
今回のAPIに関しては、番号重複さえ起きなければよいので、そのような影響は受けたくありません。

0 4
0 34

開発者の皆さん、こんにちは!

次のコンテスト:🐍 InterSystems 技術文書ライティングコンテスト:Python エディション 🐍 が発表されました 📢

このコンテストは、6月20日~7月21日までの期間に、InterSystems のテクノロジと Python の使い方に関するあらゆるトピックについての記事を投稿いただくコンテストです!

今回は、応募期間中に投稿いただいた方 全員 に 🎁賞品🎁 をご用意しています。

🏆 特賞: AirPods Max; Apple Watch SE; Apple HomePod mini / Apple Pencil 

0 0
0 14

開発者コミュニティの皆さん
こんにちは。

ご存知のように、今年のグローバル・サミットは対面式です。ぜひ、皆さんとお会いしたいですね!

コミュニティのメンバー全員が参加できるわけではありませんので(私もです!)、メンバーからのメッセージビデオを制作することにしました 。🎥 
この素晴らしいイベントに世界中から参加しましょう!🌏

 このチャレンジでは、コミュニティメンバーに「あなたの国からこんにちは🙌」と言う短い(2〜3秒)ビデオをアップロード⬆️してください。その動画を他の動画と組み合わせて、グローバルサミット2022で紹介します。共有ファイルのリンクをDMで送るだけでもOKです。

締切: 6月18日(金)です!

では、またお会いしましょう!

1 0
0 14

これは、一般的なデータベース(PostgreSQL や MySQL など)から IRIS への移行に関する前回の記事に続く記事です。
PostgreSQL から移行する際に使用する場合と同じ手続きを使用します。 ただし、MySQL で使用されているデータ型は IRIS のデータ型に非常に似ているため、前回よりもさらに簡単に移行できます。 このため、列に変換ルールを作成する必要はありません。

移行プロセスにサンプルデータを取得

GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。

  • ソースデータベース: サンプルデータベースを含む MySQL データベースの Docker インスタンス。
  • ターゲットデータベース: ソースデータベースを受け取る準備のできたスキーマを含む InterSystems IRIS データプラットフォームの Docker インスタンス。

サンプルを取得して実行するには、以下の手順に従います。

0 0
0 11

Postgres から IRIS にデータとデータスキーマを転送または移行する必要がある場合があります。 これを現時点で実行するにはいくつかのオプションがありますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。この記事では、DBeaver を使った移行の実行方法を説明します。

0 0
0 14

開発者のみなさん、こんにちは!

前回のウェビナー開催から少し時間がたってしまいましたが、2022年06月28日 (火曜日) 12時半~ 30分程度のウェビナーを開催します!

今回は、新たに開講する「Embedded Python トレーニングコース」の内容をご紹介するウェビナーです。

新規開講コースでは、

  • Python開発者からみた Embedded Python でできること
  • IRIS開発者からみた Embedded Python でできること

を実際の操作を通してご理解いただけるよう、コースを3種類に分けております。

ウェビナーでは、

  Add to calendar Apple Google Outlook
0 0
0 30

開発者のみなさん、こんにちは!

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「Embedded Python で広がる InterSystems IRIS の世界」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


今や Python は最も人気のあるプログラミング言語の一つです。シンプルで機能的なコードが書けることや、なんでも揃う豊富なライブラリを利用できることなどが人気の理由です。

Embedded Python は、IRIS に Python のランタイムを組み込み、ルーチンやメソッドを Python で書けるようにする画期的な機能です。

IRIS 開発者の方にとって、広大な Python の世界が身近になります。InterSystems IRIS の新しいカタチを是非ご覧ください。

0 0
0 23

コミュニティの皆さん、こんにちは。

今までにミラーリング環境をセットアップされたことはありますか? プライベートネットワーク、仮想 IP アドレス、および SSL 構成を設定したことはありますか? この作業を何度か繰り返すと、証明書の生成や各 IRIS インスタンスの構成にはたくさんの手動による作業が必要で、時間がかかる作業であることに気づきました。 頻繁にこの作業を行わなければならない方にとっては、面倒な作業です。

たとえば、品質管理チームでは、新しいバージョンのアプリケーションをテストするたびに、新しい環境を作成しなければならないでしょう。 サポートチームであれば、複雑な問題を再現する環境を作成しなくてはならないかもしれません。

となれば、こういった環境を素早く作成できるツールが絶対に必要です。

この記事では、以下を使用するミラー環境のセットアップ例を紹介します。

0 0
0 20

Cachéでは、今後の新しいOSのサポート、例えばWindows 11やWindows 2022のサポートは行われないことになりました。

いよいよ新しいサーバハードウェアを導入するとCachéが使えなくなる可能性が高くなってきました。

皆さんIRISへの移行をお早目にご検討ください。

IRISへの移行の際に障害となるものの1つがVisM.OCXを利用したアプリケーションの移行です。

IRISでもこの機能は制限付きで利用可能です。

しかし、そのためには少々面倒な手続きが必要です。

(この手続きについてはインターシステムズにお問い合わせください)

しかもこの手続きも暫定処置で将来なくなる可能性もゼロではありません。

ところでなんでそんな面倒くさい手続きが必要なのと感じた人もいると思います。

その理由は、

VisM.OCXがマイクロソフトの非常に古い技術を利用していて、開発元のマイクロソフトもそれを全くサポートしていませんし、セキュリティ脆弱性への対応等も全く行われていません。

そんな技術なんで、インターシステムズも技術サポートするのが困難です。

1 0
0 42

初めに

VisM.OCXはVisual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。


誕生から既に20年以上が経過した非常に古いテクノロジーです。


OCX規格(ActiveXコンポーネント)は、マイクロソフト社が推進してきた規格ですが、やがてマイクロソフト社が後継となる.Net Frameworkをリリースし、その新しいフレームワークへの移行を強力に推進すると同時に、OCX規格は非推奨機能となっています。

一方で下位互換性のため、.Net Framework配下でOCXを動作可能とする仕組みが用意されており、結果としてOCXは、.Net Framework環境下で動作可能です。

従って、VisM.OCXも.Net対応のプログラミング言語C#やVB.NETからそのまま利用することができます。

しかしながら.Net Framework上で動作するとは言え、.Net Frameworkが用意する安全性の高い資源管理や強固なセキュリティ機能の恩恵を受けることができず、いわゆるマネージドコードとして動作できないという制約を抱えています。

1 1
0 482

2022年5月30日より、外部アプリからGmailを送信するには OAuth 2.0が必須になりました (リンク) そのため、IRIS から Gmail を送信したい 場合は、今後は OAuth 2.0 を利用して Gmailアカウントに接続する 必要があります。 そこで、IRIS コード ObjectScript を使って、OAuth 2.0 でGmailアカウントに接続&メール送信するサンプルを作成しました。 ぜひご活用ください!

2 0
0 73

開発者の皆さん、こんにちは!

InterSystems グランプリ・プログラミングコンテストの投票が始まりました!ベストアプリケーションだ🔥と思う作品に投票をお願いします!

🔥 投票はこちらから! 🔥

   

投票方法は以下ご参照ください。

0 0
0 11

InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。

Embedded Python で Excel のデータを IRIS グローバルに格納する方法 では pandas.DataFrame のデータを InterSystems IRIS グローバルに保存する方法をご紹介しました。
こちらの記事では、その逆の「InterSystems IRIS グローバル($LB) を pandas.DataFrame に変換する」方法をご紹介します。

1 0
0 27

こんにちは! Open Dataset コンテストにおいて、1 つのコンテナに InterSystems IRIS と Openflights データセットを、もう 1 つのコンテナに InterSystems IRIS と Apache Zeppelin を使用する Docker コンテナアプリスタックを構築しました。 詳細はこちらでご覧ください: https://github.com/andreas5588/openflights_demo

これを使用すると、構成をまったく行わずに、Apache Zeppelin から Openflights データセットをクエリできます。 コンテナは hub.docker にあるため、とても簡単に使用できます。

Docker ダッシュボードを確認すると、openflights_demo というグループがあるのがわかります。

 

0 0
0 14

これは InterSystems FAQ サイトの記事です。

InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。

※ サンプルはバージョン 2017.1以降で動作確認しています。

※ バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。

0 0
0 18

開発者のみなさん、こんにちは!

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「SQLでどこまでできる? ~データロードから機械学習まで~」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


データベースのテーブルにアクセスするためにSQLを利用するのは「ご飯を食べるときは箸を使います」と同じぐらい開発者にとって当たり前のことだと思いますが、SQLで分析や機械学習まで行えたらどうでしょうか。

便利ですよね?

本セッションではInterSystems IRISのSQLを使って、どこまでの操作ができるのかについて、デモを交えながらご紹介します。

ぜひ、動画をご参照ください。

0 0
0 23

これは、InterSystems FAQサイトの記事です。

%SYS.Namespace クラスの List クエリで取得することができます。

次のようなルーチンを作成し、ターミナルで実行してください。


1. サンプルの作成

1 0
0 24

7)適切なドライバーが必要

LOAD DATA SQL コマンドを実行する場合、2021.2 のドライバーを選択する必要があります。 誤ったドライバーを選択して LOAD DATA SQL コマンドを使用してしまうと、以下のようなエラーが発生します。

Error: [SQLCODE: <-1>:<Invalid SQL statement>]
[Location: <Prepare>]
[%msg: < LITERAL ('%qpar') expected, : found^LOAD DATA FROM FILE :%qpar>]

JDBC ドライバーのリポジトリ(https://github.com/intersystems-community/iris-driver-distribution)のフォークを作成し、InterSystems IRIS バージョン 2021.2.0.617 のドライバーを追加しました。

0 0
0 17

開発者のみなさん、こんにちは!

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「オープンソースだけで IRIS on Kubernetes を動かそう」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


Docker は使いこなせるようになってきたけど、Kubernetes はなかなか手を出すチャンスがないな、という方々を対象に手持ちの Windows/PC 上に K8s 環境を構築して色々試すことを最終目標としたセッションです。

開発者コミュニティの記事「microk8sでKubernetesをお手軽に試す」との紙面連動です。

ぜひご参照ください。

0 0
0 13

開発者のみなさん、こんにちは!

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「VSCode、Jenkinsを使用した CICD 環境の構築」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


IRIS アプリケーションの開発では、どのような開発環境、テスト環境を構築されてますでしょうか?

このセッションでは VSCode で開発した複数の Windows サーバで通信を行うプログラムを例に Jenkins の環境構築とインストールキットの作成やテストを自動化する方法について説明します。

また、IRIS の %UnitTest クラスを Jenkins で判別させるツールや、バッチコマンドから IRIS の処理を実行するツールを紹介します。

ぜひ動画をご参照ください。

0 0
0 19

最近、LOAD DATA という素晴らしい新機能を使用することがありました。この記事では、初めて使用した際の体験についてお話しします。 以下の箇条書きには優先順がなく、他の評価も含まれません。 これらは、LOAD DATA コマンドを使用したときに私が気付いたことを記したものです。 また、プレビューリリースである IRIS バージョン 2021.2.0.617 を使用していることも記しておきたいと思います。 そのため、ここに記録されたことは、それ以降の IRIS バージョンに適用しない可能性があります。 それでも誰かのお役に立てるかもしれません。

0 0
0 42