简单的控制台应用程序打开连接没有任何问题:
static void Main(string[] args)
{
string connectionString = String.Format(
@"Provider=OraOLEDB.Oracle;PLSQLRSet=1;Password={0};Persist Security Info=True;User ID={1};Data Source={2};OLEDB.NET=true;FetchSize=5000",
"pwd", "schema", "server");
using (IDbConnection con = new OleDbConnection(connectionString))
{
con.Open();
Console.WriteLine("Opened");
}
Console.ReadKey();
}
但是如果尝试在nunit测试方法中做同样的事情:
public class UnitTest1
{
[Test]
public void TestMethod1()
{
string connectionString = String.Format(
@"Provider=OraOLEDB.Oracle;PLSQLRSet=1;Password={0};Persist Security Info=True;User ID={1};Data Source={2};OLEDB.NET=true;FetchSize=5000",
"pwd", "schema", "server");
using (IDbConnection con = new OleDbConnection(connectionString))
{
con.Open();
}
}
}
我有例外:ORA-12154:TNS:无法解析指定的连接标识符
显然是环境问题。
如何'配置'nunit以使用与控制台应用程序相同的“相同”设置
一些细节:
目标框架:4.0 目标平台:x86 nunit 2.5.9 操作系统:Windows 7 x64
答案 0 :(得分:1)
问题导致文件夹名称中的括号。 (C:\ Program Files(x86))
如果我从文件夹c:\ something(nunit)运行nunit \我得到了同样的错误。
将VS路径替换为短8.3名称对我没有帮助。因此不得不安装Oracle Client 11并且问题已经消失。
答案 1 :(得分:0)
检查以下是否有帮助:http://ora-12154.ora-code.com/