[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 メーリングリストの案内