[operation:2257] Re: Hudsonのテスト環境 + DB2

Jun Futagawa [E-MAIL ADDRESS DELETED]
2008年 12月 25日 (木) 13:24:27 JST


ふたがわ (jfut) @サーバチームです。

On 2008/12/25 12:40,Toshihiro Nakamura wrote:

> スキーマ名を小文字で指定した場合は駄目でした。
> しかし、ふたがわさんが示してくれたドキュメントに、
> 
>   スキーマ名には大/小文字の区別があり、大文字で指定しなければなりません。
> 
> とあったので、
> currentSchema にも currentFunctionPath にも
> 大文字で指定したところ、動きました!!

おお、おめでとうございます!
currentSchema の説明欄をちゃんと見ていませんでした。
となれば、currentFunctionPath は指定しなくても動くかもしれないですね。

> 区別があるのに大文字でなければいけないって???
> という感じではありますが。

小文字でもPROCEDUREは作成されていたので、
作成は出来るけど実行はできないってことなんですね。
注意事項に書き足しておきました。
http://www.seasar.org/wiki/index.php?Hudson#zf8a136d

>> --- 以下、おまけ ---
>>
>> コマンドラインでのスキーマ作成時には "" で囲むと小文字も指定できました。
> 
> じゃ、私もおまけ。
> 
> DB2は、あらかじめスキーマを定義しておかなくても、
> currentSchemaにスキーマを指定して、JDBC経由で
> CREATE TABLEなどすると、スキーマを勝手に作ってくれるようです。
> (権限によるかもしれませんが)
> (もしかしたら、CREATE TABLEしなくても接続するだけで作成されるかも)
> 
> これはちょっと驚きでした。

CREATE TABLE時にスキーマ指定があると勝手に作られるみたいですね。
ただ、作成されるスキーマの権限情報が多少異なるようです。

S2CONTAINER_2_4_S2JDBC_IT: JDBC経由の CREATE TABLE で作成されたもの
s2container_2_4_s2jdbc_it: CREATE SCHEMA s2container_2_4_s2jdbc_it で作成したもの

SCHEMANAME                OWNER    OWNERTYPE DEFINER  DEFINERTYPE CREATE_TIME                REMARKS
S2CONTAINER_2_4_S2JDBC_IT SYSIBM   S         DB2INST1 U           2008-12-25-12.12.46.975593 -
s2container_2_4_s2jdbc_it DB2INST1 U         DB2INST1 U           2008-12-24-23.03.20.466036 -

SYSCAT.SCHEMATA カタログ・ビュー: 暗黙的に作成されたスキーマの値は 'SYSIBM'。
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.java.doc/doc/rjvdsprp.htm

> まちがって指定すると、意図しないスキーマが作成されちゃうので
> 気をつけるポイントかもしれません。

間違って作ってしまった場合と区別できるように、大文字ですべて作り直しました。
これで OWNER が SYSIBM だったら誤って作られたものと判別できます。

-- 
ふたがわ


operation メーリングリストの案内