我已经使用 Visual Studio 2010 创建了一个新的控制台应用程序项目(我尝试使用 VS 2012 并且问题是一样的)。使用方法是:
using System;
using System.Data.Common;
using Oracle.DataAccess.Client;
在 Main 方法中,我编写了以下代码:
var oracleInstance = OracleClientFactory.Instance;
using (DbConnection conn = oracleInstance.CreateConnection())
{
conn.ConnectionString =
"Data Source=XXX;Persist Security Info=True;User ID=XXX;Password=XXX;";
conn.Open();
var command = conn.CreateCommand();
command.CommandText = "SELECT * FROM TABLE1 where rownum = 1";
DbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine("Column number {0}: {1}", i, reader[i]);
}
}
}
目标框架是 .NET 4.0 。我引用了 Oracle.DataAccess.dll 4.112.3.0 (.NET 4)。
问题是:如果我以 .NET 4.0 为目标,则编译不起作用,并显示找不到类型或命名空间名称“Oracle”(您是否缺少 using 指令或程序集引用?) 如果我以 .NET 为目标4.0 客户端配置文件,它工作正常。 事实是我需要针对 .NET 4.0 框架,而不是 .NET 4.0 客户端配置文件!
这个问题有解决方案吗?