開発Blog

iSeries上での開発注意点

投稿日:

iシリーズとはいえ、普通のwindows系のサーバと取扱いは変わりません。
インストールも通常のインストーラで可能です。ただし下記の注意点があります。

1.iシリーズのDB2はEBCDICコード
APはJVMで稼動するので意識は必要ないのですが、いざDBにインサートする時にEBCDICコードへの変換が JDBCドライバにより実施されます。
例えば、ある項目で半角文字と全角文字が混在している場合、全角文字が登場する度に前後にshift-in、 shift-outコードが1バイトづつ自動的に付与されます。つまり全角文字の登場回数×2バイトの余裕を持ってテーブル構築しないとDBインサート時にエラーが発生します。(レングスエラー)

2.iシリーズのDB2の方言
標準的なSQLはOKですが、やはり方言があります。例えば「RUN」という文字列はiシリーズのDB2にて予約語扱いの為、テーブル名や項目名には使用できません。

3.Java プログラミングの注意

動作上は問題無いのですが、負荷試験等をやると下記のようなプログラミングは性能が出ません。

a.StringBuffer の推奨
Stringの文字列結合を大量に使ってるString.concat()などで文字列結合をすると内部的に大量のオブジェクト生成がされるのでオーバーヘッドとなります。そのような場合はStringBuffer.appendで対応します。

b.SQLの大量発行
SQLのコンパイルもオーバーヘッドとなるので、無駄なSQLは発行しない。
Statementではなく、PreparedStatementを極力使う。
以上です。

-開発Blog
-

執筆者:

関連記事

no image

セッション管理モジュールのご紹介

この記事では、2017 Springでリリースされたセッション管理モジュールをご紹介させていただきます。 また、2014 Spring から 2016 Winterまでのバージョンでセッション管理モジ …

no image

intra-martで作成したアプリケーションに対するプログラムパスの張り方について

  ※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。   質問 : …

no image

ISPの小技

今回は、ISPのスケジュール機能の小技に関して紹介します。 以外に知られていない機能で、Ver7.0、7.1で、スケジュールのコピー機能があります。 マウス操作だけでスケジュールのコピーができますので …

no image

IM-Workflow 処理対象者プラグイン でこんなことできます。

初めまして。こんにちは。開発本部の阿部です。 今回は、私が担当している IM-Workflow の機能について書きたいと思います。 プログラミングガイドにも載っている情報なんですが、ご存知でない方も多 …

no image

「im-J2EE Framework」仕様書

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 技術者向け資料が新しく公開されました …