- PR -

変数の名前/数が無効です。のOracleエラーについて

投稿者投稿内容
イオン
ベテラン
会議室デビュー日: 2005/10/18
投稿数: 81
投稿日時: 2006-05-09 13:33
お世話になります。

環境はVB.NET、ADO.NET、Oracle9.2.0です。

Adapterを使用して更新処理を実行しようとしています。
以下が処理です。
@Fillを実行。(パラメータは無し)
ADataViewを使用してFilterをかける。
BDataView.item(0)(Columnname)で変更後の値をセット
CAdapter.Update(DataTable)

ここでタイトルに書いたOracleエラーがでます。
まったく同じ処理を別テーブルでも実行しているのですが、
こちらは正常に更新をしています。

原因もわからず完全に行き詰ってしまいました。
原因をご存知のかたいましたら教えてください、お願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-09 13:56
引用:

イオンさんの書き込み (2006-05-09 13:33) より:

ここでタイトルに書いたOracleエラーがでます。
まったく同じ処理を別テーブルでも実行しているのですが、
こちらは正常に更新をしています。


本当でしょうか。

引用:

(2)DataViewを使用してFilterをかける。
(3)DataView.item(0)(Columnname)で変更後の値をセット


このあたりまで本当に同一でしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
イオン
ベテラン
会議室デビュー日: 2005/10/18
投稿数: 81
投稿日時: 2006-05-09 14:06
お世話になります。

本当です。
もしなにか心当たりがあれば教えて頂けないでしょうか?

(2)DataViewを使用してFilterをかける。
(3)DataView.item(0)(Columnname)で変更後の値をセット

この辺の処理によってはエラーがでるのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-09 14:13
引用:

イオンさんの書き込み (2006-05-09 14:06) より:

この辺の処理によってはエラーがでるのでしょうか?


まずは、コメントアウトなどして原因を絞り込む必要がありますね。
別のカラムや値をセットして問題の切り分けをする必要がありますね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
イオン
ベテラン
会議室デビュー日: 2005/10/18
投稿数: 81
投稿日時: 2006-05-09 14:27
コメントアウト等は一通り試しました。

UpdateParameterは正しく設定されています。
他のColumnを変更しても同様のエラーがでます。

Columnの変更をしない状態でUpdateを実行するとエラーはでません。
(Updateが実行されないから当たり前なのですが・・)

Insert、DeleteのCommandは正常に実行されます。
なのでUpdateCommandに原因があるかなと考えて調べてはみたのですが。
原因がまったくわからずな状態です。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-09 14:32
引用:

イオンさんの書き込み (2006-05-09 14:27) より:

UpdateParameterは正しく設定されています。
他のColumnを変更しても同様のエラーがでます。
Insert、DeleteのCommandは正常に実行されます。


うーん、これだけやっていれば、

引用:

Oracle® Database Error Messages より:

ORA-01036 変数の名前/ 数が無効です。
原因: ユーザー側にバインド・コンテキストを見つけることができません。
処置: バインドされている変数が SQL 文に存在することを確認してください。


何があてはまるというのやら... orz

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-05-09 14:37
あっちやこっちで書いているので、私はうんざりしているのですが、、、


※例外(エラー)メッセージは、正確に、一字一句そのまま転記してください。※


 例外メッセージは、重要な情報です。例外の型、メッセージ内容、リファレンスの説明を読めば、たいていの例外は解決できます。



 あれ?スレッドを表示してから「返信」までに進んでいる。。。

> 何があてはまるというのやら... orz

コピペして、UPDATE だけ変数名を変更していない、とか。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2006-05-09 14:49
今日は。

オラクルのバージョンは
9.2.0と書かれていますが、
もっと詳細なバージョン解りますか?

9.2.0.1か9.2.0.2.0じゃないですかね?
であったならばそれはバグです。

リテラルでSQLを書いて下さい。

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