4

プログラムをデバッグしようとするたびに、このエラーが発生します。

CS0246: 型または名前空間名 'OracleConnection' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

これは、宣言で発生しますprivate readonly OracleConnection oracleConnection;(および他のいくつかの場所でも発生します)

私はいくつかの提案された解決策を試してきましたが、これまでのところどれもうまくいきませんでした:

  • への参照を追加しましたSystem.Data.OracleClient.dll
  • 私のターゲットフレームワークはに設定されています.NET Framework 4
  • using System.Data.OracleClientインクルードと手動での書き出しの両方を試しましたSystem.Data.OracleClient.OracleConnection

編集:私が使用しているコードは次のとおりです。

using System;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Collections.Generic;
using System.Data.OleDb;
using System.Linq;
using System.Web;
using System.Data;
using System.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Foo
{
    public class DBHandler
    {
        private readonly OracleConnection oracleConnection;
        private readonly OracleCommand oracleCommand;
        private readonly OracleDataAdapter oracleAdapter;

これまでのところ何も機能していないため、提案をいただければ幸いです。

4

4 に答える 4

4

まず、Oracle の場合、System.Data.OracleClient は廃止されたため、現在は推奨されていません。詳細については、ADO.NET チームのブログ投稿をご覧ください。

推奨されるのは、オラクル社が発行する Oracle クライアントです。Oracle .NET Developer Centerから Oracle Data Access コンポーネントをダウンロードします。

同様に、Oracle.Client dll への参照を追加することで、OracleConnection、OracleCommand などを使用できます。

さらに、このライブラリは .NET 4 Client Profile では使用できないことに注意してください。

于 2012-08-31T17:43:37.510 に答える
1

変更がどのように影響したかはわかりませんが、なんとかこれを解決できました。DBHandler.cs ファイルは、「App_Code」というフォルダーにありました。ファイルを 1 レベル上に (メイン プロジェクト フォルダーに) 移動すると、エラーが解決したようです。

于 2012-09-12T16:45:15.160 に答える
1

using ディレクティブが削除されたと思います。

using System;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Data.OracleClient; //Add This
using System.Collections.Generic;
using System.Data.OleDb;
using System.Linq;
using System.Web;
using System.Data;
using System.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Foo {

public class DBHandler
    {

        private readonly OracleConnection oracleConnection;
        private readonly OracleCommand oracleCommand;
        private readonly OracleDataAdapter oracleAdapter;

これらの各ステップを個別に試して、うまくいかなかったときに元に戻したのでしょうか?

于 2012-08-31T18:06:46.830 に答える
0

Project->Add reference->Oracle.DataAccess
ここには、2.something と 4.something の 2 つのバージョンがあります。バージョン 4 を選択すると名前空間が解決されませんでしたが、バージョン 2 を選択すると解決しました!!

于 2014-11-20T04:52:10.083 に答える