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 .NET 开发人员中心下载 Oracle 数据访问组件

然后以同样的方式,您可以通过添加对 Oracle.Client dll 的引用来使用 OracleConnection、OracleCommand 等。

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

于 2012-08-31T17:43:37.510 回答
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 回答
1

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

于 2012-09-12T16:45:15.160 回答
0

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

于 2014-11-20T04:52:10.083 回答