每次尝试调试程序时都会出现此错误:
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;
到目前为止,一切都不起作用,所以任何建议都将不胜感激。
首先,对于Oracle,System.Data.OracleClient已被弃用,因此现在不建议使用它。有关详细信息,请访问ADO.NET团队博客文章
推荐使用Oracle公司发布的Oracle客户端。从Oracle.NET Developer Center 下载Oracle Data Access组件
然后以同样的方式,您可以通过添加对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"的文件夹中。将文件向上移动一级(进入主项目文件夹)似乎已经解决了这个错误。
项目->添加引用->Oracle.DataAccess
这里有两个版本——2岁左右和4岁左右。当我选择版本4时,它没有解析名称空间,但当我选择了版本2时,它解析了!!