Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ORA-06413,但仅适用于努尼特_C#_Oracle_Nunit - Fatal编程技术网

C# ORA-06413,但仅适用于努尼特

C# ORA-06413,但仅适用于努尼特,c#,oracle,nunit,C#,Oracle,Nunit,我正在使用NUnit进行一些测试,其中一些连接到Oracle DB(是的,我意识到这不是真正的单元测试,但它确实使其他测试变得简单)。我有一台64位计算机,但所有设置都设置为x86,我使用System.Data.OracleClient进行连接。使用SQLDeveloper、网站中的数据库代码和运行该方法的控制台应用程序,所有这些都可以连接并正常工作。但是当我尝试使用NUnit运行它时,我得到 ORA-06413: Connection not open 大多数处理此错误的方法都是将客户端放在

我正在使用NUnit进行一些测试,其中一些连接到Oracle DB(是的,我意识到这不是真正的单元测试,但它确实使其他测试变得简单)。我有一台64位计算机,但所有设置都设置为x86,我使用System.Data.OracleClient进行连接。使用SQLDeveloper、网站中的数据库代码和运行该方法的控制台应用程序,所有这些都可以连接并正常工作。但是当我尝试使用NUnit运行它时,我得到

ORA-06413: Connection not open
大多数处理此错误的方法都是将客户端放在(x86)文件夹中(实际上不是),或者在路径中包含其他非法字符,我看不到这些字符


还有其他想法吗?

也许您使用的NUnit-console.exe是为.NET 2.0编写的,因此它会加载CLR 2.0。这意味着所有其他DLL都在CLR 2.0下运行


哈哈,明白了!它是一个(x86)问题。这是因为NUnit是从ProgramFiles(x86)文件夹运行的,与ODP.NET客户端非常相似。我将NUNit重新安装到我的AppData文件夹,瞧,一切都开始工作。

我确实从程序文件(x86)中卸载了NUnite,并将NUnite重新安装到apps文件夹。它对我很有用。

您是通过NUnit应用程序运行它,还是通过类似于VS加载项的Resharper?通过NUnit应用程序,特别是x86 EXE不是解决方案,但您是否考虑过使用Oracle的客户端(ODP.NET)而不是System.Data.OracleClient?我知道较新的Oracle版本和.NET内置库存在问题。您有权访问32位计算机吗?如果是这样的话,也许可以尝试在那里重建环境,看看你是否得到了同样的东西。这可能会回答是否是32/64位的问题。我可能可以让我的团队成员中的一个仍然有32位机器的人让我安装东西……我们使用ODP.NET,但在解决问题之前,它有一些问题。