2009年10月9日金曜日

Netbeans6.7でのDerby操作につまづいた



#################################################
改訂記事を
Netbeans6.9.1でのDerbyの作成について
に書いてますので、そちらを御覧ください。
#################################################

NetbeansはDBアクセス環境を持っているから便利なんだけど、今日は初歩的なところで躓いたので悔しいから書いとく。

【症状】
Derby上に新規でDBを作成した場合、こことか見ると、"「表」、「ビュー」、「プロシージャ」の 3 つのサブフォルダがあります" とか書いてるんだけど、なんかいろんなスキーマが書いてるんだよね。これは、6.7から変わったのかな?
で、どのスキーマを使うのか、、、ということを考える必要がある。もともと埋め込まれているサンプルのデータベースをみると、データベース名と共通したスキーマが存在している。でも、Netbens上でデータベースを作成した場合それがない。だから、Hibernateのエンティティを自動生成しようとしても、うんともすんともしないという状況になったわけだ。

【解決策】
どうやら、データベース作成時のパスワードがスキーマに関係しているらしい。Netbeans上でDerbyのデータベースを作成する場合、パスワードを設定するとそれがデフォルトスキーマになってしまうようだ。たぶんNetbeansのバグだろう。だから、データベース作成時に
  • ユーザ名、パスワードをともに設定しない
  • ユーザ名だけいれて、パスワードは空白にする
という設定をすれば、APPというのがデフォルトスキーマになる。つまり、APPの中にある「表」のサブフォルダにテーブルを作成していけばいいわけだ。

なんか、この問題のおかげで、えらい時間がかかってしまった。


0 件のコメント:

コメントを投稿