none
Oracleコネクション RRS feed

  • 質問

  • [開発環境]VisualBasic2005Exp SQLServer2005 Oracle8.1.7

     

    お世話になっております。

     

    現在VisualBasic2005ExpでOracleとのコネクションを試みています。

    ソース



        'Oracle変数
        Public oraConnect As New OracleClient.OracleConnection
        Public oraCommand As New OracleClient.OracleCommand


     oraConnect.ConnectionString = "User Id=XXXXX;Password=XXXXX;Data Source=XXXXX;"
            oraCommand.Connection = oraConnect
            oraConnect.Open()


    oraConnect.Open()時、System.Data.OracleClientにはOracleクライアントソフトウェアバージョン8.7.1以降が必要です。

    とのエラーが出ます。

    Oracleバージョンは、8.7.1です。

     

    このコミュニティを検索しても非常に情報が少ない事から、

    ひょっとして、VisualBasic2005EpxではOracleとのコネクションができないのかな・・・

    と思ったりしています。

     

    VisualBasic6.0では、参照設定でオラクルオブジェクトを追加するだけで、

    クライアントにソフトウェアがなくても接続し、データが取得できるのに、何故でしょうか?

     

     

    有識者の方ご享受宜しくお願い致します。

    2007年7月3日 9:16

回答

  • 自己レスです。

     

    OracleClientが使えないので、ADOを参照追加しました。

    一応コネクト、レコードセットはできました。

     

    しかしどうしてOracleClientが使えないのでしょうかね・・・。

    2007年7月3日 9:51
  • ASP.NET ではないですよね。
    参照設定はできているので、OracleClient が正しくインストールされていないと見なされていると思います。

    いずれにしても相手が Oracle であれば ODP.NET を使った方が良いです。
    2007年7月3日 10:44
  • 開発環境の所には 8.1.7 と書かれていて、Oracle は 8.7.1 と書かれていますが、エラーが発生する環境でのオラクルクライアントのバージョンはどちらでしょうか? .NET はサーバーのバージョンではなくクライアントのバージョンをチェックしていると思います。
    クライアントが 8.7.1 なのにエラーがでる原因はわかりませんが、もしかすると見間違いされていないかと思い返信させていただきました。

    話が変わってしまいますが、8.7.1 以前の環境で System.Data.OracleClient を使う方法ってないでしょうかねぇ。オラクルクライアントの更新ができない環境があり、実は私も困っています。

     じゃんぬねっと さんからの引用
    いずれにしても相手が Oracle であれば ODP.NET を使った方が良いです
    前に System.Data.OracleClient と ODP.NET を比較検討したのですが、私の場合は OracleClient を選択しました。ODP.NET を選ばなかった理由は、開発環境や実行環境がオラクルクライアントのバージョンに大きく依存することでした。yuji_amk さんが ODP.NET を検討される場合は、その辺りにも留意されてはと思います。

     yuji_amk さんからの引用
    OracleClientが使えないので、ADOを参照追加しました
    これは COM のところで選ぶ昔ながらの ADO のことですね?それであれば、System.Data.OleDb を使う方が良いと私は思います。どちらも同じ OleDb プロバイダが使用されますが、後者では ADO.NET のスタイルでコーディングできますので。

    2007年7月4日 1:39
  • > 元々駄目なんですね・・・
    そのようですね・・・

    > なるほど!クライアントに依存する場合は、OracleClientを使用する方がいいのですね
    依存しないようにするには・・・のつもりです
    もちろん、9i の新機能、10g の新機能、11 の新機能などなど、オラクルをフル活用するためには ODP.NET の方がよいとは思っています。その点、私は OleDB でできることぐらいしかオラクルの機能は使用しませんので、環境に依存しないことを重視しました。

    引用方法ですが、引用したい文章を[QUOTE USER="名前"]と[/QUOTE]で囲みます("[" は本当は半角です)。こういうのを BB コードというらしいです。タグの前後で改行しない方がきれいに見えますよ。

    2007年7月4日 5:51

すべての返信

  • 自己レスです。

     

    OracleClientが使えないので、ADOを参照追加しました。

    一応コネクト、レコードセットはできました。

     

    しかしどうしてOracleClientが使えないのでしょうかね・・・。

    2007年7月3日 9:51
  • ASP.NET ではないですよね。
    参照設定はできているので、OracleClient が正しくインストールされていないと見なされていると思います。

    いずれにしても相手が Oracle であれば ODP.NET を使った方が良いです。
    2007年7月3日 10:44
  • 開発環境の所には 8.1.7 と書かれていて、Oracle は 8.7.1 と書かれていますが、エラーが発生する環境でのオラクルクライアントのバージョンはどちらでしょうか? .NET はサーバーのバージョンではなくクライアントのバージョンをチェックしていると思います。
    クライアントが 8.7.1 なのにエラーがでる原因はわかりませんが、もしかすると見間違いされていないかと思い返信させていただきました。

    話が変わってしまいますが、8.7.1 以前の環境で System.Data.OracleClient を使う方法ってないでしょうかねぇ。オラクルクライアントの更新ができない環境があり、実は私も困っています。

     じゃんぬねっと さんからの引用
    いずれにしても相手が Oracle であれば ODP.NET を使った方が良いです
    前に System.Data.OracleClient と ODP.NET を比較検討したのですが、私の場合は OracleClient を選択しました。ODP.NET を選ばなかった理由は、開発環境や実行環境がオラクルクライアントのバージョンに大きく依存することでした。yuji_amk さんが ODP.NET を検討される場合は、その辺りにも留意されてはと思います。

     yuji_amk さんからの引用
    OracleClientが使えないので、ADOを参照追加しました
    これは COM のところで選ぶ昔ながらの ADO のことですね?それであれば、System.Data.OleDb を使う方が良いと私は思います。どちらも同じ OleDb プロバイダが使用されますが、後者では ADO.NET のスタイルでコーディングできますので。

    2007年7月4日 1:39
  • ご返信ありがとうございます。

     

    >参照設定はできているので、OracleClient が正しくインストールされていないと見なされていると思います。

    >いずれにしても相手が Oracle であれば ODP.NET を使った方が良いです。

    なるほど。正しくが前提なのですね。

    Web検索している時に、ODP.NET が良くヒットしました。

    良く勉強してみます。

     

     

    ご享受ありがとうございました!

    2007年7月4日 1:44
  • ご返信ありがとうございます。

    SQLPlusのバージョンを確認したところ、8.1.7でした!

    エラーメッセージでは、Oracle8.7.1でしたから、元々駄目なんですね・・・。

     

    >前に System.Data.OracleClient と ODP.NET を比較検討したのですが、私の場合は OracleClient を選択しました。ODP.NET を選ばなかった理由は、開発環境や実行環境がオラクルクライアントのバージョンに大きく依存することでした。

    なるほど!クライアントに依存する場合は、OracleClientを使用する方がいいのですね。

    >yuji_amk さんが ODP.NET を検討される場合は、その辺りにも留意されてはと思います。

    ご享受ありがとうございます。


    ADOは昔ながらのADOですね。使い方もVisualBasic6.0ですが、同じ様に使えます。

    System.Data.OleDbの方が良いのですね!メリット等分りませんが、勉強してみます。

    ADO.NETのスタイルは、無知識ですが、これも学んでみます!

    色々と知識を共有してくださり、ありがとうございます。

     

     

    ※因みに引用部分がとても見やすいのですが、どうすればこの様な手法を使えるのでしょうか? 

    2007年7月4日 4:25
  • > 元々駄目なんですね・・・
    そのようですね・・・

    > なるほど!クライアントに依存する場合は、OracleClientを使用する方がいいのですね
    依存しないようにするには・・・のつもりです
    もちろん、9i の新機能、10g の新機能、11 の新機能などなど、オラクルをフル活用するためには ODP.NET の方がよいとは思っています。その点、私は OleDB でできることぐらいしかオラクルの機能は使用しませんので、環境に依存しないことを重視しました。

    引用方法ですが、引用したい文章を[QUOTE USER="名前"]と[/QUOTE]で囲みます("[" は本当は半角です)。こういうのを BB コードというらしいです。タグの前後で改行しない方がきれいに見えますよ。

    2007年7月4日 5:51
  • ご返信遅くなりました。

    幸い当社はサーバー依存系なので、ADOでも大丈夫ですかね?^^;

     

    [QUOTE USER="TH01さん"]もちろん、9i の新機能、10g の新機能、11 の新機能などなど、オラクルをフル活用するためには ODP.NET の方がよいとは思っています。その点、私は OleDB でできることぐらいしかオラクルの機能は使用しませんので、環境に依存しないことを重視しました。[/QUOTE]

    なるほど。

    当社のOracleは古いですから、新バージョンになった際は、ODP.NET を使用しようと思ってます。

     

    色々ありがとうございます!

    2007年7月9日 3:15
  • 引用しっぱいしています 笑
    2007年7月9日 3:16