0 フォロワー · 15 投稿

Java Database Connectivity(JDBC)は、プログラミング言語Javaのアプリケーションプログラミングインターフェイス(API)で、クライアントがデータベースにアクセスする方法を定義します。

質問 m.fuku · 9月 24, 2025

IRIS Communityの再インストールを行ったところ

tomcat上で動作するJavaのWEBアプリケーションから

JDBC経由でのDB接続ができなくなりました。

他のSQLクライアントツールからは問題なく接続できていますので

接続情報やDBの起動状態には問題ないと考えています。

解決策をご指導頂ければ幸いです。

■環境

IRISバージョン:IRIS_Community-2025.2.0.227.0-win_x64

JDKバージョン:11.0.28

JDBCドライバ:intersystems-jdbc-3.2.0.jar

■事前作業

ライセンス有効期限が切れてサービス起動できなくなったため、以下投稿と同様、再インストールを行っています。

https://jp.community.intersystems.com/post/iris%E3%82%A4%E3%83%B3%E3%82…

ちなみに前回利用したバージョン(IRIS_Community-2024.2.0.247.0-win_x64)では

以下エラー(messages.

7
0 113
記事 Hiroshi Sato · 7月 27, 2025 3m read

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

JDBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。

そのような場合にJDBCドライバのクライアントログを取得することで、エラーについての詳細情報を取得することができます。

JDBCログの取得方法については以下をご参照ください。

JDBCのログ

ログを指定する際に、ディレクトリ名を含まずに直接ファイル名を指定した場合、そのアプリケーションのディレクトリにその指定したファイル名でログが出力されます。

ODBCログの様にPID毎に取得する方法は用意されていません。

JDBCログが正常に取得できている場合、以下の様な内容が書き込まれます。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	Started At:     2025/03/27 11:52:16
	Driver Name:    com.intersystems.jdbc.IRISDriver
	Jar File Name:  intersystems-jdbc-3.9.0.jar
	Client Version: 3.9.0.0
	Compiled At:    3 June, 2024 at 07:34PM UTC
	JDBC Version:   4.2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Sent: (03/27/25-11:52:16:156) [ThreadID = 1 ] [JobNumber = -1 ] [DeviceID = 1212899836 ]
Header:
  0000:  02  00  00  00  01  00  00  00  00  00  00  00  48  53      ............HS
Message:
  0000:  43  00                                                      C.


Received: (03/27/25-11:52:16:199) [ThreadID = 1 ] [JobNumber = -1 ] [DeviceID = 1212899836 ]
Header:
  0000:  0D  00  00  00  01  00  00  00  00  00  00  00  00  00      ..............
Message:
  0000:  43  00  01  00  09  01  55  6E  69  63  6F  64  65          C.....Unicode


Sent: (03/27/25-11:52:16:199) [ThreadID = 1 ] [JobNumber = -1 ] [DeviceID = 1212899836 ]
Header:
  0000:  C5  00  00  00  03  00  00  00  00  00  00  00  43  4E      ............CN
Message:
  0000:  06  01  55  53  45  52  09  01  59  78  BA  FA  5C  3B      ..USER..Yx..\;
  000E:  DF  05  01  9E  FF  DE  0A  01  68  73  61  74  6F  63      ........hsatoc
  001C:  74  72  1C  01  6A  70  37  33  32  30  6E  6F  6E  6F      tr..jp7320nono
  002A:  2E  69  73  63  69  6E  74  65  72  6E  61  6C  2E  63      .iscinternal.c
  0038:  6F  6D  05  01  41  70  70  6F  01  06  01  4A  44  42      om..Appo...JDB
  0046:  43  1D  01  69  6E  74  65  72  73  79  73  74  65  6D      C..InterSystems
  0054:  73  2D  6A  64  62  63  2D  33  2E  39  2E  30  2E  6A      s-jdbc-3.9.0.j
  0062:  61  72  09  01  33  2E  39  2E  30  2E  30  11  01  4D      ar..3.9.0.0..M
  0070:  61  63  20  4F  53  20  58  5C  31  35  2E  33  2E  32      ac OS X\15.3.2
  007E:  30  01  4A  61  76  61  20  48  6F  74  53  70  6F  74      0.Java HotSpot
  008C:  28  54  4D  29  20  36  34  2D  42  69  74  20  53  65      (TM) 64-Bit Se
  009A:  72  76  65  72  20  56  4D  5C  32  33  2E  30  2E  31      rver VM\23.0.1
  00A8:  2B  31  31  2D  33  39  0B  01  53  48  4D  7C  7C  7C      +11-39..SHM|||
  00B6:  7C  7C  31  03  01  00  03  04  01  03  04  01  03  04      ||1...........
  00C4:  3B                                                          ;

0
0 129
記事 Hiroshi Sato · 4月 2, 2025 3m read

Mac版のIRISにSQLを使用して他ツールからアクセスするケースはそもそも少ないと思いますが、DBeaverにJDBCを使用してアクセスできることはこのコミュニティの住人であれば、知っている人は結構いるかと思います。

しかし今回ちょっと理由があってMac上のIRISにODBCを使ってアクセスする方法についてトライしてみました。

ここではその備忘録を書き留めておこうと思います。

実際の所、Mac上のクライアントツールでODBCでアクセスできるツールもそんなにないのですが、

候補としてMS-Excel(MS-Query経由)またはLibreOfficeがありました。

まず結論としてExcelは色々とトライしましたが、原因不明ですがうまくつながりませんでした。

(どうもExcel(MS-Query)が拒絶している感じです)

LibreOfficeは何とか接続でき、データの取得はできる様になりました。

まず、前準備としてODBC Driver Managerというものをセットアップする必要があります。

細かくいうとこれにもiODBCとUnixODBCの2系統があるのですが、ExcelおよびLibreOfficeはiODBCにしか対応していない感じです。

0
0 77
質問 Yuji Ohata · 11月 22, 2024

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

IRISに直接Insert文を発行する時と、JDBCを経由してInsert文を発行する時とで、
挙動差異があるように見受けれれまいたので、何かご存知な方がいらっしゃれば教えてください。

次の様なテーブルがあります。

それに対してDBeaverとIRIS管理ポータルからInsertを実行します。

★DBeaver

★IRIS管理ポータル

この後実際に作成されたグローバルの情報を確認すると、
『VARCHAR型』で作成したカラムに数値をInsertした際に、
実データの型が異なっていることがわかります。

DBeaver(JDBC) ➡ 文字列で登録
IRIS直     ➡ 数値で登録

個人的には『VARCHAR型』に数値が入ること自体がおかしいので、
DBeaverの方がまし(ホントは型違反とかになってほしい)と思うのですが、
この差異が何で発生するのか、また回避する方法をご存じな方がいらっしゃれば情報共有頂きたいです。

また、そもそもIRISはRDBを使っても型チェックが曖昧になるものなのかも気になっています。
さすがに数値のカラムに文字列を入れようとすると怒られるのですが、
上記の様な場合にチェックの仕組みが働かないのには違和感がありました。

3
0 155
記事 Megumi Kakechi · 5月 6, 2024 4m read

前回、LinuxでODBC接続を行う方法 をご紹介しました。

今回は、LinuxでJDBC接続を行う方法 をご紹介します。作業は、root ユーザ で行います。

はじめに、Linuxのバージョンを確認します。

$ cat /etc/os-release


1. yumパッケージのアップデートを行います

$ su - yum update


2. Java をインストールします

今回は、Adoptium OpenJDK の Version 8 - LTS を使用してテストします。
※ *.tar.gz は、/usr/java 以下にダウンロードします。

cd ls


3. IRISクライアントをインストールします

Linuxのバージョンにあったインストーラを使用してください。

cd ./irisinstall_client

※JDBC ドライバのみダウンロードしたい場合は、こちら から行えます(JDBC のリンクをクリック)。


4. 環境変数の設定を行います
 (JAVA_HOME、PATH、LD_LIBRARY_PATH、CLASSPATH)

 JAVA_HOME       --- JDKがインストールされているディレクトリ
 PATH            --- $JAVA_HOME/bin + <IRISクライアントインストールディレクトリ>/bin
 LD_LIBRARY_PATH --- $JAVA_HOME/lib
0
0 1404
記事 Megumi Kakechi · 9月 21, 2022 2m read

SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。

手順は以下になります。
 


1. 外部ソースへの SQL ゲートウェイ接続の作成を行います


※こちらの例では、IRISの別インスタンスへの接続を試しています。 
※ODBCを使用される場合は、事前に
システムDSN(64bit)の準備が必要です。
管理ポータルより
 [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。

接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。

  

※ODBC/JDBC 各接続定義の作成の詳細は、以下のドキュメントをご覧ください。
 JDBC 経由での SQL ゲートウェイへの接続
 ODBC 経由での SQL ゲートウェイへの接続


2. リンクテーブルウィザードを使用して、1で作成したSQLゲートウェイ接続に対してします


管理ポータルより
 [システムエクスプローラ] > [SQL] ページより、
  [ウィザード] > [リンクテーブル] をクリックしリンクテーブルウィザードを開きます。

 手順に従ってリンクテーブルを作成します。

0
0 662
記事 Toshihiko Minamoto · 5月 10, 2022 4m read

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

1)ファイルパスはサーバー側

JDBC 経由で最初のテストを行いました。 最初に躓いたのは、ファイルとファイルパスが、当然 (^-)_ サーバー側でなければならないということです! JDBC ドライバーはクライアント側でこれを処理しません。 おそらく明確なことかもしれませんが、最初にこのことを考慮していませんでした。

2)ファイル接尾辞は関係なし

ドキュメントには、以下のように書かれています。

ファイル名には .txt または .csv(カンマ区切り値)の接尾辞が含まれていること。

私の観察では、この動作は書かれていることと異なりました。 接尾辞は無関係です。

3)ドキュメントを読もう! エラー行はどこへ?

0
0 388
記事 Toshihiko Minamoto · 2月 3, 2022 12m read

キーワード: Pandasデータフレーム、IRIS、Python、JDBS

目的

PandasデータフレームはEDA(探索的データ分析)に一般的に使用されるツールです。 MLタスクは通常、データをもう少し理解することから始まります。 先週、私はKaggleにあるこちらのCovid19データセットを試していました。 基本的に、このデータは1925件の遭遇の行と231列で構成されており、タスクは、患者(1つ以上の遭遇レコードにリンク)がICUに入室するかどうかを予測するものです。 つまりこれは、いつものようにpandas.DataFrameを使用して、まず簡単にデータを確認する、通常の分類タスクです。  

現在では、が提供されています。これには強力な「AutoML」のオプションに関する洗練されたSQLラッパーがあるため、従来型のMLアルゴリズムに対抗して、多様なデータフレームのステージをIRISデータベーステーブルに保存してから、IntegratedMLを実行する方法を頻繁に採用しています。  ただし、はまだIRISで機能しないため、実際には、ほとんどの時間を他のデータ保存手段をいじることに充てていました。

0
0 390
記事 Toshihiko Minamoto · 1月 6, 2022 9m read

キーワード: Python、JDBC、SQL、IRIS、Jupyterノートブック、Pandas、Numpy、および機械学習 

1. 目的

これは、デモの目的で、Jupyterノートブック内でPython 3によってIRIS JDBCドライバーを呼び出し、SQL構文でIRISデータベースインスタンスにデータを読み書きする、5分程度の簡単なメモです。 

昨年、私はCacheデータベースへのPythonバインディング(セクション4.7)について簡単に触れました。 そこで、Pythonを使ってIRISデータベースに接続し、そのデータをPandasデータフレームとNumPy配列に読み込んで通常の分析を行ってから、事前処理済みまたは正規化されたデータをML/DLパイプラインに通すためにIRISに書き込む作業においてのオプションと議論について要約しましょう。

すぐに思い浮かぶ簡単なオプションがいくつかあります。

  1.    ODBC: Python 3とネイティブSQLを使ったPyODBCを使ってはどうでしょうか?
  2.    JDBC: Python 3とネイティブSQLを使ったJayDeBeApiはどうでしょうか?
  3.    Spark: PySparkとSQLを使ったら?
  4.    IRIS用PythonネイティブAPI: 前に使用したCache用Pythonバイディングを拡張してみたらどうでしょうか?
0
0 1071
記事 Hiroshi Sato · 8月 24, 2021 2m read

これは InterSystems FAQ サイトの記事です。
インターシステムズでは、お客様のペースで学ぶことができる柔軟でユーザセントリックな教育サービスを提供しています。
ラーン&プレイ

InterSystems オンラインラーニングにご登録いただくと、Java から InterSystems IRISにアクセスする様々なサンプルをご利用いただけます。

Java のサンプルは、オンラインラーニングの以下のページでご紹介しています(英語のみ)。
Welcome to the Java QuickStart!

オンラインラーニングサービスアカウントのない方のために、簡単に手順をご紹介します。
※詳細については、上記オンラインラーニングサービスページをご覧ください。

  1. InterSystems IRIS をインストールし、JavaをサポートするIDEを用意します( など)。 
  2. サンプルのJavaコードを入手するには、次のリポジトリをIDEにダウンロードまたは複製してください。:  http://github.com/intersystems/quickstarts-java Eclipse を使用する場合:
    • File Import Git Projects from Git を選択し、 Next をクリックします。
    • URI: https://github.com/intersystems/quickstarts-java 
0
0 310
記事 Megumi Kakechi · 6月 3, 2021 5m read

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


Java のプログラムで $List 構造のデータを扱うには、InterSystems 製品が提供する IRISList クラスを使用することが可能です。

こちらは、IRIS Native と同様に JDBCドライバの拡張機能の一部として提供しております。

Native API for Java Quick Reference(英語のみ)
 

こちらでは、InterSystems 製品上に $List 構造を扱うクラスメソッドを作成し、それをストアドプロシージャとして公開し Java から呼び出すサンプルをご紹介します。


【使用可能バージョン】

IRIS 2020.1 以降に同梱されている JDBC ドライババージョン 3.1.0 以降。
ただし、JDBCで使用する場合は 3.2.0以降(IRIS2021.1以降)。

<IRISインストールディレクトリ>\dev\java\lib\JDK(Ver.)\intersystems-jdbc-3.1.0.jar


【手順】

1. IRISサーバの任意のネームスペースに以下のようなクラスを用意します。
 SqlProc キーワード を指定し、メソッドを SQL ストアドプロシージャとして呼び出せるようにします。

0
0 1678
記事 Mihoko Iijima · 2月 5, 2021 5m read

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

Java ゲートウェイを使用することで、Java クラスのモジュールを InterSystems IRIS から実行できます。

【メモ】Java ゲートウェイは、外部 Java オブジェクトを InterSystems IRIS 内のネイティブ・オブジェクトと同じようにインスタンス化し、Javaオブジェクトを操作するための方法です。

詳細は以下ドキュメントをご参照ください。
Java ゲートウェイについて

Java ゲートウェイを使用する手順は以下の通りです。

1) Java ゲートウェイサーバを開始する

2) プロキシオブジェクト(ダイナミック・プロキシ・オブジェクト)を作成して Java オブジェクトを操作する


1) Java ゲートウェイサーバを開始する

Java ゲートウェイサーバを開始する方法は 3 種類あります。以下のいずれかの方法で、Java ゲートウェイサーバを開始します。

A) 管理ポータルの「オブジェクトゲートウェイ」を利用する

B) プロダクションにJavaゲートウェイサービスを追加する

C) java コマンドを使用する

A)~C) の方法は以下の通りです。

0
0 533
お知らせ Mihoko Iijima · 9月 13, 2020

開発者の皆さんこんにちは!IRIS プログラミングコンテストも 6 回目を迎えました!

今回のコンテストのテーマは

「InterSystems IRIS をバックエンドとし Web またはモバイル・ソリューションをフロントエンドとして使用する⚡️フル・スタック・アプリケーション⚡️」

です。日本からのご応募お待ちしております!

Open Exchange(アプリケーション登録/参考となる開発テンプレート)のページはこちら➡ ⚡️ InterSystems Full Stack Contest ⚡️

応募期間は 2020年9月21日~10月4日 です!

(投票期間は 2020年10月5日~11日、勝者発表は 10月12日を予定しています)

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $2,000 

🥈 2位 - $1,000 

🥉 3位 - $500

2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $1,000 

🥈 2位 - $500 

複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

参加資格

どなたでもご参加いただけます!

1
0 354
お知らせ Mihoko Iijima · 9月 15, 2020

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

Full Stack コンテストについての続報をお伝えします!

投票期間に追加ポイントを獲得できる「テクノロジーボーナス」について紹介します。

対象となる技術は、以下の通りです。

  • InterSystems IRIS REST API の使用
  • InterSystems Native API の使用
  • InterSystems JDBC の使用
  • ZPMパッケージによる公開
  • Docker コンテナの使用

詳細は以下の通りです。

InterSystems IRIS REST API の使用 - 1 point

フルスタック・アプリケーションから、REST API 経由で InterSystems IRIS にアクセスるとボーナスポイントを獲得できます。REST API をご自身で開発されるか、組み込みのものを利用したり、ZPM 経由でインストールするなど、選択できます。

RESTサービス作成方法については、ドキュメントや  をご参照ください。

InterSystems Native API の使用 - 1 point

InterSystems Native API(.NET、Java、Python、Node.

0
0 198