C# 类型或命名空间名称';OracleConnection';找不到

C# 类型或命名空间名称';OracleConnection';找不到,c#,asp.net,namespaces,oracleclient,system.data.oracleclient,C#,Asp.net,Namespaces,Oracleclient,System.data.oracleclient,每次尝试调试程序时都会出现此错误: CS0246:找不到类型或命名空间名称“OracleConnection”(是否缺少using指令或程序集引用?) 这发生在声明私有只读OracleConnection OracleConnection上(以及其他一些地方) 我一直在尝试一些建议的解决方案,但迄今为止没有一个有效: 我添加了对System.Data.OracleClient.dll的引用 我的目标框架设置为.NET framework 4 我尝试了这两种方法,包括使用System.Data.

每次尝试调试程序时都会出现此错误:

CS0246:找不到类型或命名空间名称“OracleConnection”(是否缺少using指令或程序集引用?)

这发生在声明
私有只读OracleConnection OracleConnection上(以及其他一些地方)

我一直在尝试一些建议的解决方案,但迄今为止没有一个有效:

  • 我添加了对
    System.Data.OracleClient.dll的引用
  • 我的目标框架设置为
    .NET framework 4
  • 我尝试了这两种方法,包括使用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;

到目前为止,一切都不起作用,因此我们非常感谢您的建议。

首先,对于Oracle,System.Data.OracleClient已被弃用,因此现在不推荐使用它。详情请浏览

推荐的是Oracle公司发布的Oracle客户端。从下载Oracle数据访问组件

然后,通过添加对Oracle.Client dll的引用,您可以使用OracleConnection、OracleCommand等


进一步请注意,此库不适用于.NET 4客户端配置文件。

我认为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;

你是否可以单独尝试这些步骤,然后在它们不起作用时将它们放回原位?

我设法解决了这个问题,尽管我不知道我所做的更改对任何事情有何影响。DBHandler.cs文件位于名为“App_Code”的文件夹中。将文件上移一级(到主项目文件夹中)似乎解决了错误。

project->Add reference->Oracle.DataAccess
这里有两个版本-2.something和4.something。
当我选择版本4时,它没有解析名称空间,但当我选择版本2时,它解析了

这是在Visual Studio中吗?哪个版本?这是在Visual Studio 2010中。请确认您使用的是哪个版本的framework?我使用的是Microsoft.NET framework版本4.0.30319。您可以发布更多代码吗?从使用语句到OracleClient的第一个参考?我已经阅读了有关此解决方案的内容,但是我不选择使用第三方软件。如果您有Oracle数据库,那么使用Oracle客户端确实不是第三方软件我也尝试过这样做,但是我得到了错误
CS0234:名称空间'System.Data'中不存在类型或名称空间名称'OracleClient'(是否缺少程序集引用?
展开解决方案资源管理器中的references文件夹,并确保System.Data.OracleClient仍在其中列出确定,在解决方案资源管理器中突出显示System.Data.OracleClient引用,然后查看属性窗口(如果没有,请转到查看并选择“属性窗口”),并请列出运行时版本、特定版本、已解析、路径运行时版本:v4.0.30319、特定版本:False、已解析:True、路径:C:\Program Files(x86)\参考Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.OracleClient.dllWell这就是我得到的全部。语法高亮显示是否识别OracleConnection引用?i、 e.是否突出显示(默认为浅绿色)。如果您键入“using System.Data”,autocomplete会识别OracleClient吗