0

.NET 应用程序中的 Windows 7 64 位(因为我认为这是主要原因)上的此错误是否有任何解决方案?(带有 EF4 的 ASP.MVC2)

我有:

  • 视窗 7 64 位
  • Oracle Express 10g(我尝试安装 Client 11g,但随后在安装过程中出现另一个错误 - Net Configuration Assist~ 错误 - 关于 oraclj11 和 java 的问题)

我也检查并尝试过:

  • tnsnames.ora - 一切都好
  • tnsping - 成功
  • sqlnet.ora - NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

我想通过 ASP 应用程序(如上)连接 Oracle DB,但我仍然看到这个错误。.NET 看不到 tnsnames.ora 中的别名

4

3 回答 3

1

The problem seems to be with the 32-bit Oracle client and the "(x86)" in the long-name file path. I've got mine to work by using this in a .bat file.

start /B "C:\Progra~2\Microsoft Visual Studio 10\Common7\IDE" "C:\Progra~2\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"

于 2010-10-26T23:11:12.793 回答
1

错误: ORC-12154 和 Oracle Provider 与当前操作系统不兼容(povider 32 位,OS 64)

操作系统: Windows 7 64 位、.NET 4.0、Visual Studio 2010、通过 SSH 的 Tunel(putty)

解决方案:

  1. 卸载oracle软件,尤其是Oracle的客户端(OracleExpress Client and whole db 10g)
  2. 安装适用于 Windows 7 64 位的 Oracle 11g 客户端。如果安装过程中出现错误(Config Net Assistant),请检查并清理以前的Oracle软件。应删除包括寄存器和 ORACLE_HOME、TNS_ADMIN 环境变量在内的所有内容。
  3. 为 Visual Studio 安装 Oracles .NET 工具(它可以防止 32 位和 64 位的冲突)
  4. 配置 TNSNAMES.ORA 和 SQLNET.ORA

    • tnsnames.ora - 在 cmd 提示符下使用 tnsping 检查别名(tnsping.exe 存在于 /bin
    • 检查环境变量:ORACLE_HOME,可选 TNS_ADMIN:“ORACLE_HOME/NETWORK/ADMIN”</li>
    • sqlnet.ora 变量:

      NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
      SQLNET.AUTHENTICATION_SERVICES = (NTS)  
      NAMES.DEFAULT_DOMAIN = ORCA
      

对我来说至少工作正常。

于 2010-07-20T11:33:58.683 回答
0

一个快速简单的解决方案在这里:
https ://stackoverflow.com/questions/1567133/very-frustrating-ora-12154-excpetion-finally-resolved

基本上,TOAD.exe,如果从包含括号的路径运行,例如:
C:\Program Files (x86)\Quest Software\TOAD\Toad.exe

...尝试连接数据库时会遇到 TNS 错误:
ORA-12154: TNS:could not resolve the connect identifier specified

将整个 Quest Software 文件夹复制到 C:\Program Files 中,您应该可以开始使用了。

于 2011-01-25T20:35:03.963 回答