dポイントプレゼントキャンペーン実施中!

いつもありがとうございます。

早速ですが、ローカルの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との接続が原因であるとも推察しております。

少ない情報となり恐れ入りますが、何か確認ポイントなどご支援頂けますと幸いです。

以上です。

A 回答 (3件)

メインキーを設定してみる(もしくは、リンクテーブルを作り直して主キーを指定する)と何か変わりますか?

    • good
    • 0
この回答へのお礼

ShowMeHow 様

返信が遅くなってしまい、申し訳ございませんでした。
アドバイス頂いたとおり試してみたのですが、同様のエラーが発生し解決に至りませんでした。

ただし、リンクテーブルのデータをアップデートせず、一時テーブルを経由してアップデート後に
目的のテーブルにINSERTすることはできたので、当初の想定とは異なりますが、目的は果たすことができました。
今回は、いろいろと迅速にアドバイス頂きましてありがとうございました。
今後も機会が御座いましたらご支援頂けますと幸いです。

以上です。

お礼日時:2019/10/28 16:06

ごめんなさい、もう一つ、


識別キーは、アクセス上で主キーになっていますか?
    • good
    • 0
この回答へのお礼

ShowMeHow様

返信が遅くなり申し訳ございません。

>識別キーは、アクセス上で主キーになっていますか?

→ 「識別キー」はNULL許可(NULLはない)の任意となっております。

以上です。

お礼日時:2019/10/24 08:55

select * from テーブルA where 識別キー="1"


のような選択クエリは実行できますか?

オラクル上では「数量」のデータ型は何ですか?

直接oo4o等でオラクルに接続はできないのですか?
    • good
    • 0
この回答へのお礼

>ShowMeHow様

早速のご返信ありがとうございます。
ご回答頂いた内容について返信させていただきます。

>select * from テーブルA where 識別キー="1"
>のような選択クエリは実行できますか?

→ はい、SELECT文であれば正常に出力されており、条件指定する値(0始まりの数字)も
  問題ないようです。
  実際、対象テーブルの該当件数も一致しており、その抽出件数に対してUPDATEする場合に
  限り、エラーが発生する事象です。。

>オラクル上では「数量」のデータ型は何ですか?

→ 「テキスト型」となります。
  UPDATEする条件となるフィールドも同様に「テキスト型」となります。
  
  #例: UPDATE テーブルA SET 数量="100" where 識別キー="001"

>直接oo4o等でオラクルに接続はできないのですか?

→ お恥ずかし話、当方あまりデータベースに詳しくなく、、切り分け自体難航しているのが
  正直なところで、既存の環境(ODBCが通っている端末で、ACCESSにてリンク)が
  唯一の接続手段という状況です。。


以上、どうぞ宜しくお願い申し上げます。

お礼日時:2019/10/23 19:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A