• 締切済み

ACCESS2003 実行時エラー

初めてmsn相談箱を利用させていただきます。 今、大変困っています。 ・現象 ACCESS2003 VBA  DB.EXECUTE "DELETE * FROM C20_FILE"で      実行時エラー3156 ODBC--リンクテーブル"C20_FILE"での削除に失敗しました。      とダイアログがでてとまってしいます。 ・正常動作実績 OS:Windows XP SP3 msjet40.dll : 4.0.9511.0 msjetoledb40.dll : 4.0.9502.0 ODBC Driver : Oracle in OraHome92 (9.02.00.00) ACCESS2003 DB : Oracle 9i R2 (9.2.0.1.0) 上記の環境では、問題なく動作しています。 ・エラーがでる環境 サーバOS : Windows Server 2008 R2 Standard(64bit) クライアントOS : Windows 7 Professional(32bit) DB : サーバ Oracle Database 11g R2(11.2.0.1.0) for Microsoft Windows(32bit) クライアント Oracle Database 11g R2 Client (11.2.0.1.0) forMicrosoftWindows(32bit) ACCESS2003 msjet40.dll : 4.0.9756.0 msjetoledb40.dll : 4.0.9756.0 ODBC Driver : Oracle in OraClient11g_home1 (11.02.00.01) ODBC接続は正常です。 ACCESS2003 オブジェクトのテーブルからリンクテーブルC20_FILEを開いて 全レコードを削除しようとすると ODBC--リンクテーブル"C20_FILE"での削除に失敗しました。 [Oracle][ODBC][Ora] ORA-01483 : DATEまたはNUMBERバインド変数の長さが            無効です。(#1483) とエラーがでたり、ACCESSに問題が発生しました。とでて ACCESS2003が終了したりと一定ではありません。 ・調査       自分なりに色々のサイトを探してみたのですが、これだ!!と思うのが見当たり            ません。 何卒どうか、どなたか助けてください!!!自分は、OS、ORACLE等は初心者です。          

みんなの回答

  • hisappy
  • ベストアンサー率46% (184/392)
回答No.1

その手のエラーで私が経験したことあるものとして思い浮かぶのは… 当該処理を行っているループ、 もしくはそのエラーが発生するまでに行っていた処理において アクセス-オラクル間でのコネクト(接続)とディスコネクト(切断)の 対応がずれている(個数が合わない)ために DBとのコネクトが張りっ放しになっているものがあり DBの管理(この場合はODBC?)可能な範囲を超えてしまった。 というのが考えられます。 つまり「中途半端に処理が残ったまま」になっているため 「ODBC周辺の処理が手におえなくなった」為にエラーとなったようです。 システム屋さんでは「口を開けっ放しだった」という方言がありますが。。。 この原因の場合の特徴は、 「電源を入れてから全く同じ手順で操作すると同じ辺りでエラーになるけれど、  そうでない操作順序の場合は前触れなくいきなりコケる。」 というものです。 質問文に「全レコード削除」とありますが、 格納されているレコード件数によってコケるタイミングがバラバラなのではないでしょうか。 また、同じ件数を登録していても 「全件を一度に登録した後の場合」と「分割して登録した後の場合」とで コケ具合も変わってくると思います。 さらに、逆に (例)「データ更新処理をはさむと、いくらやってもエラーにならない」 といった症状にもなったりします。 調べる時には、どこでコネクトしてどこでディスコネしているかの確認が必要なので ロジックの頭と後ろという結構広い範囲での見直しが必要です。 さて、私がプロファイルした犯人像(エラーの原因)は 逮捕(デバッグ)の手がかりになるでしょうか?

sys-com
質問者

お礼

ご返事が大変遅くなってしまい本当に申し訳ございません。 ご回答いただきありがとうございます。 しかし、決定的な対処方法がいまだにわかりません。 全レコードといっても10件程度のテーブルですし・・・ 私が不安なのは、そもそもWindows Server 2008R2(64BIT)にOracle 11g R2(32bit)を インストールしてもよいのか?とWindows7 Pro(32bit)にAccess2003で稼動するのか?の 2点がわかりません。 いずれにせよ、つたない質問にご回答くださって大変ありがとうございました。

関連するQ&A

  • ACCESSからODBC接続でORA-12504

    Access上でオラクルのテーブルのリンクを設定しようと していますが、「ORA-12504」のエラーが表示されてしまい 接続できず、困っています。 【エラー詳細】 ODBC-呼び出しが失敗しました。 [Oracle][ODBC][Ora]ORA-12154 TNS~ (#12154)[Microsoft][ODBC Driver Manager]ドライバのSQLSetConnectAttrは失敗しました。(♯0)[Microsoft][ODBC Driver Manager]ドライバのSQLSetConnectAttrは失敗しました。(#0) なお、SQLPlusで接続ができていますし、ODBCアドミニストレータ の接続テストも成功します。 Accessで問題があるのでしょうか? 【環境】 OS:WinXP x64 Access:003 Oracle:サーバ 10g(10.2.0.1) for 64-bit    :クライアント 10g(10.1.0.2) for 32-bit     ※64-bitのオラクルクライアントはAccessが      ドライバを認識しないため使用できませんでした。 何かわかりましたらご教授ください。 よろしくお願いします。

  • ACCESSからODBC経由だと"ORA-12504"

    遠隔の環境からOracleに接続させています。 OracleのSQL Plusだと、接続できるのですが、 ACCESSのODBC経由だと、「ORA-12504」のエラーが表示され、接続できず、困っています。 サービス名はあわしているつもりです。 アドバイスをお願いいたします。 ●OracleサーバーのVerはよくわかりません... 多分古い(8iぐらい)と思います。 accessは2003です。 Oracleクライアントは、Oracle8iです。 よろしくお願いいたします。

  • 64bitサーバにOracleが作成できない!?

    ご存知のかたいらっしゃいましたら教えて下さい。 現在、Windows Server 2003 standard X64 Edition に Oracle 10g Release 10.1.0(32bit)をインストールし、 Database Configuration Assistant に於いてDBを 作成しようとしていますが、「Ora-12546:TNS:アクセス権が拒否されました」が表示され、以降の処理が行えなく なります。 確認したところ32bit Oracle で32bitサーバには問題な くインストールできました。 32bit Oracle では64bitサーバにインストールできない のでしょうか?対処方法(パッチなど)がございましたら ご教示願いたいと思います。 宜しくお願い致します。

  • ORACLEのアクセス

    oracle10gで構築したDBをoracle9iのクライアントからアクセス可能でしょうか。(SQLを参照したりVBで作成しらプログラムからODBC/OLE形式でアクセスする)

  • ORA-12170のエラーについて

    下記エラーの解決方法に心あたりのある方がいらっしゃったら教えてください。 現象  サーバーを用意し、そこにOracleDatabase11gR2をインストールし、クライアントマシンから  Oracle Net Configration Assistantでネットサービス名の構成をする際、以下のエラーが出て  接続できません。    「ORA-12170: TNS: 接続タイムアウトが発生しました。」    ※1  サーバーでは同様のユーザ(SYSTEMユーザ)とパスワードでデータベースに接続できることは確認できています。  またファイアーウォールの設定でポート1521の接続の許可は行っております。  (クライアントからの接続のときのポートはデフォルトのまま1521を使用)    ※2  ファイアーウォールを有効にしたまま接続を試みたとき、  C:\Windows\System32\LogFiles\Firewall\pfirewall.logに接続がブロックされたことがログとして出力されると思いますが、出力されませんでした。  よって、ポート1521はファイアーウォールに到達する前に、どこかで遮断されているように思われます。  (ポート1158で同様にファイアーウォールの有効性を確認したところpfirewall.logにブロックした旨の内容が出力されました。)    よろしくお願いいたします。 環境 サーバー  OS:Windows Server 2008 R2 (64bit)  Oracle:Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (x64)  ファイアーウォールの設定:ポート1521の接続は許可済み  (1158の接続も許可) クライアントPC  OS:Windows7 (32bit)  Oracle:Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32-bit)

  • ACCESSからのODBC接続について

    Windows2000サーバー上にあるアクセスファイル(別のOracle9サーバーにODBCリンクしている)をWindowsXpパソコンにコピーしましたが、「ODBC-xxxxへの接続が失敗しました」と表示されOracleデータを参照できません。 WindowsXpには、Oracleクライアントはインストール済み、DSNにもMicrosoft ODBC for Oracleを登録済みです。新規にODBCリンクすることは可能です。 エラーなく参照できるようにするにはどうすればいいでしょうか。

  • ORACLEのアンインストール

    こんにちわ。 いまORACLE10gをアンインストールしようとしています。 「Universal Installer」で製品を削除した後, レジストリ内の"ORA"/"ORACLE"で始まるデータを削除しました。 その後,エクスプローラからOracle関連のPathを削除 しようとすると, "C:\Oracle\product\10.1.0\Client_2\BIN\oci.dll"が アクセス拒否されて削除できません。 これは何が原因でしょうか? 教えてください。よろしくお願いします。

  • ORA-01013のエラーについて経験のある方お願いします。

    こんにちは。 ORA-01013のエラーがでて困っています。 条件を絞り込んで件数が少ない場合には、 表示されますが、条件を緩めるとエラーとなります。 対象テーブルは1テーブル、17項目、特に大きい項目無し。 テーブル件数は約120万件 通常はvbからoo4oで利用していますが、 只今解析のためAccessでODBCにて接続しています。 この状況でエラーがでます。 環境: Oracle8 R8.1.7 サーバー windows2000Server クライアント windows2000Pro メモリ 261M(タスクマネージャー表示) Access2000 エラー内容は、 ODBC呼び出しが失敗しました。 ユーザーによってカレント操作の取り消しが要求されました。と言う事で、OracleでのORA-01013は情報のみのようです。 経験ある方のアドバイスをお願い致します。

  • ORACLE9i Clientのエラーについて

    初めまして。 今、oracle9iのDBサーバーと、同じセグメントにあるclientをインストしたマシンで接続しようと頑張っているのですが、うまくいきません・・・。 設定としては、tnspingもOK出ているのですが、clientから sqlplus ID/PW@service_name で入ると 「ORA-12541 TNS リスナーがありません」 が出てしまって接続できません。 接続先のDBサーバーのリスナーも上がっているのは確認しています。 clientで接続する際には、DBサーバー側のlistener.oraも設定し直す必要があるのでしょうか?それとも他の設定ファイルを編集する必要があるのでしょうか? それとも、client側もリスナーあげなきゃいけないのでしょうか?? ちなみに今回設定をしたのは、client側のtnsnames.oraだけです。足りないのがあれば教えてください。よろしくお願いします! (↑すみません勉強不足で。。)

  • IBM UDB2をMS-ACCESS97で利用するには?

    IBMのUDB2をDBMSとしたC/Sシステムを構築しようとしていますが、クライアントPCのACCESS97から利用する場合、ODBC接続すればよいと思うのですが、その場合、クライアントPCにDB2のクライアントソフトのようなものが必要になるのでしょうか? SQL-SERVERの場合、ODBCの設定のみで特別なソフトは必要無いと思いますが、DB2の場合はどうなのでしょうか?

専門家に質問してみよう