我使用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'(你错过了吗?使用指令或程序集引用?) 如果我定位.NET 4.0客户端配置文件,它可以正常工作。 事实是我需要针对.NET 4.0框架,而不是.NET 4.0 Client Profile !!
这个问题有解决方法吗?