- PR -

Oracle.DataAccess.Clientを指定した場合のデータアダプタの構成方法

投稿者投稿内容
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2005-12-29 15:00
 ASP.NET,及びC#(DBはORACLE)でwebアプリケーションを開発している高中と申します。

データベースの接続について困っています。

ツールボックスのカスタマイズでSystem.Data.OracleClientではなくOracle.DataAccess.Clientを選択すると、Oracle.DataAdapterをフォームにドロップアウトしてもデータアダプタ構成ウィザードの起動が行われず、データアダプタの再構成が行われません。
コンポーネントトレイのデータアダプタをクリックしてもプルダウンメニューの中にデータアダプタの構成が表示されないので選択は行えません。
Oracle.DataAccess.Clientを指定した場合のデータアダプタの構成方法をご存知の方はご教授願えないでしょうか?
hirarin
常連さん
会議室デビュー日: 2002/02/28
投稿数: 45
お住まい・勤務地: 長野県松本市
投稿日時: 2005-12-29 16:29
ORACLEは同じServerVersionの接続ドライバーをインストールし,それを構成する必要があります.ServerにインストールしたCDにクライアント用ソフトも同封されているとおもいますので,確認下さい.また,OracleのHPからドライバのダウンロードが出来ますが,登録処理が必要なため,あまりおすすめしません.
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2005-12-29 17:54
ODP.Net で構成ウィザードを使ったことが無いのでわかりませんが
一度 OTN のマニュアル類を参照してみてはどうでしょうか

ODT を使うとまた違うのかな

http://otn.oracle.co.jp/tech/dotnet/index.html
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2005-12-29 18:11
hirarinさん、かるあさん、ありがとうございました。
oracleCommandやoracleDataAdapter、oracleConnectionのプロパティの内容(ConnectionString等)を一つ一つ設定していくと、何とか接続は出来たようです。
ただ、今度は”ORA-01008: バインドされていない変数があります。 ”というエラーになって
とまってしまいました.エラーメッセージからするとCommandTextに設定したSQL分に問題がありそうですが、System.Data.OracleClientを指定していた時には問題なく動いたソースから、コペピしたのでパンチミスは考えられません。
ウェブで検索した限りではORACLEのバグではないかとするサイトもあり、困っています。
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2005-12-29 18:43
CommandText の内容が長かったので一項目だけ指定しても同じ現象でした。

this.oracleCommand2.CommandText = "UPDATE MST SET AAA = :AAA WHERE (AAA = riginal_AAA) ";

AAAは確かにDBのカラムとして存在しています。(AAAの前のOriginalは予約語と考えていいんでしょうか?)
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2005-12-29 21:51
OracleParameter の設定はどうなっていますか?
AAA と Original_AAA を OracleCommand に追加していますか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-29 21:59
引用:

高中さんの書き込み (2005-12-29 18:43) より:

(AAAの前のOriginalは予約語と考えていいんでしょうか?)


ご自分のソースじゃないのですか...
とりあえず、Original_AAA はやめて定数にしてみるとか。
:AAA はやめて別のバインド変数にしてみるなど、1 通り思いつくことは試しましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
高中
常連さん
会議室デビュー日: 2005/12/07
投稿数: 21
投稿日時: 2005-12-30 14:03
かるあさん、じゃんぬねっとさん、ありがとうございます.
コマンドテキストの内容を単純に

CommandText = "UPDATE MST SET AAA = :AAA"

とし、OracleParameterには:AAAを追加しましたが同じでした(ちなみに:AAAを他の変数にしても駄目でした)。
ただし、:AAAを定数にすると更新は行われました。

私はこれらの指定をフォームにドロップアウトしたOracle.Commandのプロパティウインドウから行っています.

スキルアップ/キャリアアップ(JOB@IT)