きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

SQLJ

SQLJとFindbugs

FindBugsの除外フィルターを書いた。その結果、300〜400個くらいのHighが消えた。SQLJの吐き出すJavaソースはクズなので、それに埋もれて他のソースの問題に気付きにくくなる。迷わずに除外フィルターを書くべき。ウォーリーを探してる場合じゃない。

IBM Data Studio 4.1.1にWebsphere Developer Tools for Junoを入れたい

今となっては、SQLJ開発を無償ツールでやるには、IBM Data Studioが大本命だろう。しかし、私として、そこにWAS用のプラグインは入れたい。IBM Data StudioはEclipseのバージョンが古いが、仕方ないのでJunoベースでなんとかしよう。素のIBM Data Studio 4.1…

シノニムとdb2sqljcustomize

DB2の接続ユーザ(CONNUSER)と、スキーマ(SCHEMA1)が異なる場合に、 SCHEMA1スキーマからシノニムで別スキーマ(SCHEMA2)のテーブルに飛ばしていると、 sqljのカスタマイズ&バインドに失敗する。 これはcurrentSQLID=SCHEMA1をurlに指定することでしか回避でき…

SQLJトランスレータのバージョン確認方法

java -cp sqlj.zip sqlj.tools.Sqlj -version java -cp sqlj4.zip sqlj.tools.Sqlj -version なんか周りの人は知らなかったようなので教えておいた。 ついでにネットでも探しにくいのでここに一筆書いておく。 基本的にはdb2jcc.jar/db2jcc4.jarと同じような…

SQLJについて知っておくこと

SQLJのイメージ。 静的SQL サポートしてるIDEが少ない。きっとRADくらいのものか。 IDEのリファクタリングが効かない。 コードは少なくなるというが、IDEがしょぼいので生産性は低い。 プリコンパイルが遅いのでイラつく customize時にonline-checkが行える…

db2sqljcustomizeをantに組み込むための知識

com.ibm.db2.jcc.sqlj.Customizerクラスにmainメソッドがあるのでこれを使う。 antタスクを提供して欲しいくらいだ。 Rational Application Developerだと、SQLJサポートの追加とかがあって、 RADが持ってるプラグインでsqlj.jarなんてのを使ってやるのだが…

ふんづまってたことがようやくスッキリ

自分が作ったアプリケーションでは3つの環境で再現出来る事象が、 なんか他の人が作ったアプリケーションでは再現出来ない状態で、 WebSphereの設定も含めて自分が思うように整えたうえでの事なので、 「環境に差によるものかもしれない」だとか、 「アプリ…

SQLJの壁を1つ乗り越えた(sqlj.runtime.Scrollable)

sqlj.runtime.Scrollableなイテレータ宣言の仕方。 DB2のマニュアルを信じていたのに、マニュアルではない書き方が必要。 sqljエディターの右クリックのコンテキストメニューより「SQLJアシスト」を使う。 まずこの時点でRational Appilcation Developerでも…

SQLJで壁にぶつかった

やりたいこと: sqlj.runtime.Scrollableを使って、ResultSetを作って、absoluteメソッドを叩きたい。 現状: rs.absolute(int)を叩くと例外が出る。 色々やっても全然解決しない。 ログはまずこんな感じで下知を飛ばした。 「TYPE_SCROLL_INSENSITIVEかTYPE…

db2sqljprintを叩いてみた

カスタマイザーにかける前に、serに対してdb2sqljprintをやってみた。 どうやらVARCHARとかTIMESTAMPとかは、 データベースに接続する情報がなくても、 Javaの型から推測されているようだ。 たぶん、StringはCHARではなく、VARCHARにとりあえずしておくのだ…

SQLJに関する所感

人と違ったものを使うと余計な壁にぶちあたるものです。 最近SQLJを触っているので試行錯誤を書いてみます。 SQLJで開発するとき、sqlj.zipやdb2jcc.jarが必要になるでしょう。 JDBC4.0対応のものは、sqlj4.zip、db2jcc4.jarでしょう。 ただ、DB2 ExpressC v…