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

SQL Serverの利用時に遅いクエリを特定する方法

SQL Serverの利用中にレスポンス遅延が発生した場合、どのクエリがボトルネックになっているか簡単に確認する方法をご紹介します。レスポンス遅延発生時の切り分けなどにご利用ください。 概要 SQL …

no image

log4jdbcを使ったSQL(JDBC)のトレース

こんにちは、開発本部の榎本です。 開発中にデータベースに対してどのようなクエリが流れているのか確認してみたいことありませんか? 以前、山寺さんが紹介していたResinのログで取得するなど、いろいろな方 …

no image

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

今回で、iWP Ver7.2の紹介は、最終回です。 ■開発系 ドラッグ&ドロップによるファイルアップロード用タグ intra-mart WebPlatform/AppFramework Ver …

no image

統合検索モジュール(ConceptBase連携)について

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 ベースモジュールver2.2(または …

no image

カラーパターンの追加

イントラマートには標準で青赤緑灰橙のページカラーパターンが用意されていますが、実はこれを追加することができます。 と、そこまでは皆さんご存知かもしれませんが、実際にカラーパターンを自作して追加されてい …