- - PR -
ODP.NETを利用してCommandBuilderで作成されたコマンドにスキーマ情報を追加するには?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-09 11:45
こんにちわ。
ODP.NETを利用してテーブルに対するDMLコマンドを CommandBuilderを利用して自動生成しました。 しかしアップデートを実行すると「表が存在しません」とエラーが発生するので コマンドを確認してみたところ UPDATE "TBL" SET "CUSTMER_CODE"=:2 WHERE "CUSTMER_CODE"=:6 のようになっており「TBL」にスキーマ情報が無いようでした。 このTBLを所有するユーザーで実行すると正しく更新できるのですが。 実行しようとしたユーザーにはこのテーブルに対する各DML権限は与えています。 よろしくお願いします。 |
|
投稿日時: 2005-06-09 13:13
こんにちは。
「TBL」がhogehogeスキーマに属していると仮定して... UPDATE hogehoge.TBL SET CUSTMER_CODE=:2 WHERE CUSTMER_CODE=:6 のように、スキーマを指定してあげる必要があります。 SQL全てにスキーマを記述するよりはOracle側でシノニムを作成する方が簡単ですので、 そちらも検討してみてはいかがでしょうか。 |
|
投稿日時: 2005-06-09 13:19
なるほど、別名という手がありますね。
自分でUPDATEコマンドを書く時はHOGE.TBLのようにしていたのですが コマンドを書くよりパフォーマンスは落ちてもコマンドビルダーを使おうと思ったのですが。。 やはり完璧に、とはいかないようなんですね。 ありがとうございました。 |
1