none
VS2010でOracleデータベースに接続できない(Oracle11 .net framework4) RRS feed

  • 質問

  • 「ツール」-「データベースへの接続」を選択し、「Microsoft ODBCデータソース」・「.NET Framework ODBC用データプロバイダ」、「Oracle データベース」・「Oracle Data Provider for .NET」/「.NET Framework OLE DB用プロバイダ」/「.NET Framework Oracle用データプロバイダ」

    それぞれで試しましたが、失敗してしまい、接続できません。上記2つのデータソースで選べた、データプロバイダは全て試しました。

    (Ora-12560エラー   ・  Ora-12154エラー)

    また、SQLPlus や Access2010でODBCデータベースの接続の際は、正しく読むことができてます。

    Oracle net manegerのサービスネーミングでは正しく設定できていると思います。

    なぜ、VisualStudio2010のときだけ、エラーになってしまうのかが分かりません。

    ただし不思議なことに、AccessのMDB内に上記のOracleのテーブルをリンクテーブルとして作成し、そのMDBをVSで接続すると、リンクさせたOracleのテーブル名や列名を見ることはできます。しかしVS内のクエリを使って、データを見ることはできません。

    (「SQLの実行エラーです。実行されたSQLステートメント:SELECT ・・・・・・・・・ エラーソース:Microsoft JET Database Engine   エラーメッセージ:ODBC-- 'オラクルのサーバ名?'への接続が失敗しました。」 と表示されます。)

    ぜひ解決するために助言いただきたいのでよろしくお願いいたします。

    環境;

    Windows7 32bit

    VisualStudio2010 sp1

    .net framework4

    管理ツールのODBCデータソース アドミニストレーターでは、システムDSNに設定済み。(ドライバー:Oracle in OraClient11g_home1)

    オラクルは別端末(サーバ)にあり、oracle11

    2013年2月22日 11:01

回答

  • かるあ様

    ありがとうございます。

    上記の方法を試す前に、PC環境を調べていたところ、Cドライブの「product\11.2.0\client_1」の中にある「TNSNAMES.ora」ファイル以外に、Dドライブに「product\11.2.0\client_2」を発見しました。client_2 内の「TNSNAMES.ora」をclient_1からコピーすると、 「Oracle データベース」・「.NET Framework OLE DB用プロバイダ」で接続テスト成功しました。

    また、「ODTwithODAC1120320_32bit」で最新版にしておいたほうが良いみたいです。(これをしてないときは失敗した)

    何とか次の段階に進むことができそうです。ありがとうございました。

    • 回答としてマーク 佐伯玲 2013年3月4日 5:13
    2013年2月23日 9:01

すべての返信

  • 雰囲気、tnsの解決ができていないように見えます。簡易接続で接続できるか確認してください。

    • 回答としてマーク ksmkaya 2013年2月23日 9:02
    • 回答としてマークされていない ksmkaya 2013年2月23日 9:02
    2013年2月22日 12:00
  • 早速回答くださりありがとうございます。

    簡易接続というのは、SQL Plusでの接続ということですよね?

    SQL Plusでは接続確認しており、接続できております。

    色々調べてはおりますがなかなか解決できません・・・・

    2013年2月23日 1:43
  • かるあ様

    ありがとうございます。

    上記の方法を試す前に、PC環境を調べていたところ、Cドライブの「product\11.2.0\client_1」の中にある「TNSNAMES.ora」ファイル以外に、Dドライブに「product\11.2.0\client_2」を発見しました。client_2 内の「TNSNAMES.ora」をclient_1からコピーすると、 「Oracle データベース」・「.NET Framework OLE DB用プロバイダ」で接続テスト成功しました。

    また、「ODTwithODAC1120320_32bit」で最新版にしておいたほうが良いみたいです。(これをしてないときは失敗した)

    何とか次の段階に進むことができそうです。ありがとうございました。

    • 回答としてマーク 佐伯玲 2013年3月4日 5:13
    2013年2月23日 9:01