
いつもありがとうございます。
早速ですが、ローカルのACCESSに外部テーブルとしてODBCで
Oracleのテーブルをリンクしています。
-------------------------------------------------
#Access: 売上実績.mdb
#リンクテーブル: テーブルA
#更新対象: テーブルA.数量(テキスト型)
-------------------------------------------------
当環境に、ACCESS側に更新クエリとしてリンクテーブル上の1フィールドを
アップデートしたくSQLを発行したのですが、以下のエラーが発生し
思うような挙動となりません。
(識別キーが「1」の場合、数量を「100」に更新)
■実行SQL
UPDATE テーブルA SET 数量="100" where 識別キー="1"
■エラー内容
---------------------------------------------------------------
ODBC--リンクテーブル'テーブルA’での更新に失敗しました。
[Oracle][ODBC][Ora]ORA-01722: 数値が無効です。
---------------------------------------------------------------
エラー内容から、更新するフィールドが「テキスト型」であることが
原因の一つかとも考えているのですが、正直当方まったく知識を持ちあわせておらず
行き詰っております。
試しに、一度リンクテーブルをローカルDBとして出力して実行すると
正常にデータが更新されるため、Oracleとの接続が原因であるとも推察しております。
少ない情報となり恐れ入りますが、何か確認ポイントなどご支援頂けますと幸いです。
以上です。
No.3ベストアンサー
- 回答日時:
メインキーを設定してみる(もしくは、リンクテーブルを作り直して主キーを指定する)と何か変わりますか?
ShowMeHow 様
返信が遅くなってしまい、申し訳ございませんでした。
アドバイス頂いたとおり試してみたのですが、同様のエラーが発生し解決に至りませんでした。
ただし、リンクテーブルのデータをアップデートせず、一時テーブルを経由してアップデート後に
目的のテーブルにINSERTすることはできたので、当初の想定とは異なりますが、目的は果たすことができました。
今回は、いろいろと迅速にアドバイス頂きましてありがとうございました。
今後も機会が御座いましたらご支援頂けますと幸いです。
以上です。
No.2
- 回答日時:
ごめんなさい、もう一つ、
識別キーは、アクセス上で主キーになっていますか?
ShowMeHow様
返信が遅くなり申し訳ございません。
>識別キーは、アクセス上で主キーになっていますか?
→ 「識別キー」はNULL許可(NULLはない)の任意となっております。
以上です。
No.1
- 回答日時:
select * from テーブルA where 識別キー="1"
のような選択クエリは実行できますか?
オラクル上では「数量」のデータ型は何ですか?
直接oo4o等でオラクルに接続はできないのですか?
>ShowMeHow様
早速のご返信ありがとうございます。
ご回答頂いた内容について返信させていただきます。
>select * from テーブルA where 識別キー="1"
>のような選択クエリは実行できますか?
→ はい、SELECT文であれば正常に出力されており、条件指定する値(0始まりの数字)も
問題ないようです。
実際、対象テーブルの該当件数も一致しており、その抽出件数に対してUPDATEする場合に
限り、エラーが発生する事象です。。
>オラクル上では「数量」のデータ型は何ですか?
→ 「テキスト型」となります。
UPDATEする条件となるフィールドも同様に「テキスト型」となります。
#例: UPDATE テーブルA SET 数量="100" where 識別キー="001"
>直接oo4o等でオラクルに接続はできないのですか?
→ お恥ずかし話、当方あまりデータベースに詳しくなく、、切り分け自体難航しているのが
正直なところで、既存の環境(ODBCが通っている端末で、ACCESSにてリンク)が
唯一の接続手段という状況です。。
以上、どうぞ宜しくお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessから主キーの無いOracleテーブルにVBAで主キー設定付のODBC接続するには
その他(データベース)
-
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
ODBC--リンクテーブル'XXXX'での更新に失敗しました
Excel(エクセル)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
フォームのテキストボックスなどの変数名を標準モジュールから参照は可能か?
Visual Basic(VBA)
-
6
ODBCで接続するとDBに変更/追加出来ない。
SQL Server
-
7
ACCESSのフォーム、開くんですが、見えないようにするには
Access(アクセス)
-
8
ACCESSのクエリからORACLEのDBを更新したい。
Oracle
-
9
accessでのリンクテーブルの更新
その他(データベース)
-
10
ODBC接続で新しいレコードを追加できない
SQL Server
-
11
他ファイルのテーブルの情報を取得したい
Access(アクセス)
-
12
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
13
Accessのテーブルへ複数の主キーを設定するには
その他(プログラミング・Web制作)
-
14
Accessで独自メニューバーまたはリボンを作成したい
Access(アクセス)
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
テーブルに表示されているもの...
-
ACCESS テーブルを見比...
-
Accessのテーブルで、リンク?...
-
Accessのリンクされたテーブル...
-
最新日のデータのみ抽出するク...
-
access vbaにてテンポラリーテ...
-
Accessでリストの並び順を変更...
-
ACCESSユニオンクエリから新テ...
-
アクセスVBA現在開いている全て...
-
access2000・・テーブルをデー...
-
AccessVBAで任意の複数リンクテ...
-
ACCESSでテーブルをコピーしよ...
-
Accessで、1つのマスターを複...
-
Accessのアクションマクロでエ...
-
ACCESS テーブルを見比...
-
アクセス 部分一致の抽出
-
クエリで同一テーブルの複数回...
-
[Access]テーブルに同じデータ...
-
Acccessで2つのテーブルから1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
ACCESSユニオンクエリから新テ...
-
テーブルに表示されているもの...
-
Accessのテーブルで、リンク?...
-
access vbaにてテンポラリーテ...
-
Acccessで2つのテーブルから1...
-
Accessのリンクされたテーブル...
-
最新日のデータのみ抽出するク...
-
access2000・・テーブルをデー...
-
ACCESS テーブルを見比...
-
accessのテーブルを閉じたとき...
-
Accessでリストの並び順を変更...
-
クエリで同一テーブルの複数回...
-
ACCESSでテーブルをコピーしよ...
-
外部MDBのリンクテーブルの...
-
アクセス2000でのリンク先...
-
アクセス 部分一致の抽出
-
アクセス2016 チェックボックス...
-
ACCESSのODBCリンクテーブルの...
-
ACCESS テーブルを見比...
おすすめ情報