• 締切済み
  • すぐに回答を!

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が      ドライバを認識しないため使用できませんでした。 何かわかりましたらご教授ください。 よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • Oracle
  • 回答数3
  • 閲覧数16066
  • ありがとう数5

みんなの回答

  • 回答No.3

"ODBC ORA-12154"で検索してみました。 OBDC関係で結構問題ありのようですね。 いくつかの回答で、”ORACLE_HOMEを設定すると・・・”とあります。 ODBCなので、環境変数が必要になるみたいですね。 環境変数の確認をし、未設定なら設定してみてはいかかでしょうか? Oracle10gの環境がないので、当方では確認できないのですが、 NET8での解決方法で”ORACLE_HOME”がありましたので、 回答というかアドバイスをさせて頂きました。 一応、OracleのOTNのURLを貼り付けでおきます。

参考URL:
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-489965&bbsid=1&no=44444&view=8

共感・感謝の気持ちを伝えよう!

  • 回答No.2

ODBCのテストで上手くいっているのであれば、そのODBCのDSNを指定してあげれば上手くいくはずですね。 DSNの指定を間違っているか、Accessで何か間違って接続文字列を指定してしまうような接続方法を指定したかだと思うのですが。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

knmt_222さん。ご連絡ありがとうございます。 >ODBCのテストで上手くいっているのであれば、そのODBCのDSNを指定してあげれば上手くいくはずですね。 ⇒上手くいくはずなのですが・・ダメなんです。  ACCESS経由でODBC接続をしようとした場合にtnsnames.oraが読めてないとしか考えられないのですが・・  ACCESSはtnsnames.oraのパスをどこで判断してるのでしょうか?

  • 回答No.1

この場合のエラー内容は 「TNS-12154 TNS: サービス名を解決できませんでした。」 では無いですか? ODBCの接続テストが通るのならば、 「ACCESSでの接続文字列の指定が間違っている」 のでは?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

knmt_222さん。ご連絡ありがとうございます。 仰るとおりのエラーです。 現在の設定方法は、テーブルのリンクをする際にファイルの種類で 「ODBCデータベース」を選択し、すでに作成済み(接続確認済み)の データソースを選択すると、エラーが発生している状況です。 Accessで接続文字列の指定ができるのでしょうか? ご教授いただけましたら幸いです。

関連するQ&A

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

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

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

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

  • Exportの失敗とODBC接続の失敗

    Windows 2003 Server Windows XP Professional Microsoft Office 2000 Oracle Databasse 9.2.0.1.0 1.Sqlnet経由でのExp/Impができません。SQLPLUSは正常につながります。     EXP system/???@??? FILE= full120725.dmp LOG= exp_full120725.log FULL=y を実行すると、Copyrights ~ all rights reservedで止まったまま、 エラーメッセージも出ません。 @???を取って実行すると正常終了します。 lsnrctl statusを実行すると以下のエラーメッセージが返ってきます。 ****************** (ADDRESS=(PROTOCOL=tcp)(PORT=1521))に接続中 TNS-12541: TNS: リスナーがありません。 TNS-12560: TNS: プロトコル・アダプタ・エラー TNS-00511: リスナーがありません。 32-bit Windows Error: 61: Unknown error ****************** 2.ODBCで接続を設定しようとするのですが、     Microsoft ODBC for Oracle Oracle in Ora92 ともに失敗します。 1と2の原因が同じなのか、違うのか、 それとそれぞれの対処方をご教示できないでしょうか?

  • oracle10g ODBC設定

    oracleクライアントをインストールし直したら、 今まで正常に接続できていたデータベースにアクセスできなくなりました。 odbc adminで接続テストを行うと、 ORA-12154: TNS: 指定された接続識別子を解決できませんでした というエラーが表示されます。 原因が分かる方いらっしゃいますでしょうか? よろしくお願いします。

  • 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等は初心者です。          

  • エクセル2003からODBCでoracleのデータを取り出す

    oracle10gをwindows2003serverにインストールしました。 oracleは完全な初心者です。 最終目的は、クライアントのエクセル2003からODBCでサーバーのoracleのデータを取り出すということを行う必要があります。 クライアントから接続するためにリスナーの設定を「Net Configuration Assistant」で行っています。 クライアント側からの接続テストで「接続中...ORA-12514: TNS: リスナーは接続記述子で要求されたサービスを現在認識していません テストが失敗しました。」というエラーが出て接続ができません。 tnspingは成功します。リスナーは起動中となっています。 サーバー側にクライアントとしてのローカルネットワーク構成をして試してみても同じ状況でした。 どこに問題があるのでしょうか? サーバー:windows2003server クライアント:xp

  • ODBCエラーについて

    はじめまして、今とても困っています。 力を貸してください。 AcsessからテーブルのリンクでODBCデータベースからマシンデータソースで セットアップし、データソースドライバにOracle ODBC Driverを選択し 実行したのですが、ODBCエラー Ora-00911(文字列が無効) になってしまいます。 ちなみに、Microsoft ODBC Driver for Oracleでは正常 でした。 なにか情報がありましたらお願いします。 SQORA32.DLL=8.1.7 2000/05/11 7:00 Acsess=Acsess97 Oracle=Oracle8i (8.1.7)、

  • ODBC接続に関して

    教えて下さい。 Oracle Database 11g Express Edition をインストールし、そこにODBC経由で 接続しようと考えていますが、どうも思ったように接続ができません。 ODBCは、  1.[スタート]→[コントロールパネル]→[管理ツール]→[データ ソース (ODBC)]を選択。  2.ODBCデータソースアドミニストレータのユーザDSNタブの追加ボタンを選択。  3.データソースの新規作成から「Oracle in XE」を選択。 して設定してあります。 Oracle側にユーザとして、"ABC"というユーザ(ワークスペース管理者)を作成、そのユーザで、 Oracle ODBC Driver ConfigurationのUserIDを追加しましたが、接続できません。  Unable to connect  SQLState=28000  [Oracle][ODBC][Ora]ORA-01017 ; invalid username/password ;logon  denied というエラーが表示されます。 但し、SYSTEMというユーザでは接続できます。 ユーザ名/パスワードは間違っていませんが、何が問題でしょうか??? そもそもの考え方が間違っているでしょうか、、、 教えて下さい。 よろしくお願いします。

  • AccessからODBCでOracleに接続する際の環境

    AccessからODBCを使用してOracleに接続する際の環境について教えてください。 想定しているクライアントとサーバの環境は以下となるのですが、 >クライアント:WindowsXP + Access2003 >サーバ: Solaris + Oracle10g 上記以外にクライアント側にインストールする必要があるソフトウェアを教えてください。 ODBCドライバはWindowsXPに標準で入っていると思うので、 あとはOracle関係のソフト(Oracle Net Services?)だと思うのですが、 最低限どれが必要なのかが正確に知りたいです。 よろしくお願い致します。

  • AccessからOracleDBへのリンク(ODBC経由)

    AccessからOracleDBへのリンクについて教えてください。 以前の質問でも似たような質問があったのですが、少し違うようなので 質問させていただきます。 Oracleクライアント(Net8含む)がインストールされていないPCからODBC経由でOracleDB をリンクさせて参照しようと考えています。 そこで、OracleDBを参照できるように「設定」→「コンパネ」→「ODBCデータソース」 から ”Microsoft ODBC for Oracle” バージョン 2.573.6526.00 データソースを新規に追加しようとすると下記のようなエラーメッセージが表示され怒られてしまいます(--;) **************************** エラー内容 ***************************** Oracle(tm)クライアントとネットワークコンポーネントが見つかりません。これらのコンポーネントは Oracle Corporationから提供され、Oracle Version 7.3(またはそれ以降) のクライアントソフトウェアの一部としてインストールされます。 このドライバを使用するには、これらのコンポーネントを先にインストールしてください。 ****************************************************************** このようなエラーメッセージが出るということは具体的に何が足りないのでしょうか? やはりOracleクライアントのインストールは必須なのでしょうか? 申し訳ないですが宜しくお願い致します。 Access97、Oracle8.1.6