開発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

業務スケルトン

こんにちは。開発本部の大西です。 きょうは、昨年11月末にリリースしたe Builder Application Developer/e Builder Version 7.1 Patch3に機能追加 …

no image

SQL Server利用時の実行速度向上策について

SQLServerのJDBCドライバのパラメータ設定方法です。 このパラメータを設定すると、SQLServer利用時のJDBCプログラミングAPIであるjava.sql.PreparedStateme …

no image

intra-martベースモジュールver3.2 パラメータチューニングガイド

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

no image

intra-mart WebPlatform/AppFramework Ver7.2について その4

おかげ様で、intra-mart WebPlatform/AppFramework Ver7.2を無事リリースさせて頂きました。 今回は、BPM関連の機能追加について、ご紹介いたします。 BPMでは、 …

no image

AccelPlatform向け業務スケルトンのリリース予定について

現状、AccelPlatfrom版のeBuilderで対応できていなくて、おまたせしております、AccelPlatform向け業務スケルトンについて、以下のようにリリースを予定しております。 おまたせ …