Visual Studio ODP非托管驱动程序 - 无法找到默认的tnsnames.ora文件(12c)

tap*_*tio 6 odp.net visual-studio-2012 oracle12c

我正在Visual Studio 2013中开发一个连接到Oracle数据库的应用程序.我必须使用"非托管驱动程序".当我尝试在数据集中创建新连接时,当我选择"托管驱动程序"时,所有工作都正常:找到tnsnames.ora.但当我选择"非托管驱动程序"全部失败时,它会向我发送一条消息,如"找不到默认的tnsnames.ora文件"

我已经 - 卸载了所有旧的Oracle客户端 - 清理所有环境变量 - 重新安装了Oracle客户端,用于Visual Studio的ODP工具

似乎没什么用.有任何想法吗 ?

在此输入图像描述

小智 5

您应该转到包含 machine.config 文件的文件夹。该文件位于%windir%\Microsoft.NET\Framework64\[version]\config\machine.config

确保您具有以下值。

<oracle.manageddataaccess.client>
    <version number="4.121.2.0">
      <settings>
        <setting name="TNS_ADMIN"value="E:\app\client\USERWINDOW\product\12.1.0\client_1\network\admin" />
      </settings>
    </version>
</oracle.manageddataaccess.client>
Run Code Online (Sandbox Code Playgroud)

另外,请参阅Machine.Config哪里?


b_l*_*itt 0

tnsnames.ora 文件应位于(安装目录)\network\admin 中。这是您的 dba 会提供的。

不再需要 ORACLE_HOME 环境变量,因为该信息现在可在注册表 HKLM\Software\Oracle 中找到。

但是,如果您安装了多个 Oracle 提供程序,最好使用 TNS_ADMIN 环境变量将所有实例指向共享 tnsnames.ora 所在的集中文件夹。