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

intra-mart Advent Calendar 2013 第21日:ルーティングテーブルに認可リソースを設定しないで済ませる方法

この記事は、intra-mart Advent Calendar 2013 第21日の記事です。 今回は、AutoRegisteringResourceMapper を紹介させていただきます。 このマ …

no image

intra-mart Advent Calendar 2013 第11日:Resin HealthSystemのご紹介

この記事は、intra-mart Advent Calendar 2013 第10日の記事です。 Resinは、アプリケーションが動作しているResin本体とは別にwatchdogという監視サーバが動 …

no image

トイレの空き状況の見える化システム

初めまして、開発本部の矢野と申します。 この記事では今までとはちょっと違い、intra-mart 社の普段の雰囲気を感じていただくために、製品の説明や紹介ではなく、私がつい最近取り組んだ日常的な仕事に …

no image

Win7(64bit)上で e Builder Ver.7.2 を使用するには…

Windows 7 (64bit) 上で e Builder Ver.7.2 を使用するには現状、 「-d32オプションをeclipse.iniのvmargsに追加する」 方法しかございません。。 [ …

no image

ServerManagerについて

こんにちは、開発本部の大西です。 今日は、分かっているようで、なにをしているかいまいち、解りにくい、ServerManagerについて、お話します。 ServerManagerの動作上の仕様は、 ・シ …