You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio连接Oracle 11G数据库报错TNS_ADMIN(ODP.NET托管驱动)

解决ODP.NET托管驱动连接Oracle 11G时的TNS_ADMIN错误
  • 检查TNS_ADMIN环境变量配置
    托管驱动优先读取系统/用户环境变量里的TNS_ADMIN路径:

    1. 确认环境变量指向的路径下存在tnsnames.ora和sqlnet.ora文件
    2. 设置环境变量后必须重启Visual Studio 2019,否则变更不会生效
    3. 打开命令提示符执行echo %TNS_ADMIN%,验证输出路径是否正确
  • 在项目配置文件中显式指定TNS_ADMIN
    应用配置的优先级高于环境变量,可在app.config或web.config中添加如下配置:

    <configuration>
      <oracle.manageddataaccess.client>
        <version number="*">
          <settings>
            <setting name="TNS_ADMIN" value="你的tnsnames.ora所在完整绝对路径" />
          </settings>
        </version>
      </oracle.manageddataaccess.client>
    </configuration>
    

    路径示例:C:\OracleClient\network\admin

  • 验证tnsnames.ora文件的正确性

    1. 检查数据库连接条目格式,正确示例:
      ORCL11G =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 1521))
          )
          (CONNECT_DATA =
            (SERVICE_NAME = ORCL)
          )
        )
      
    2. 排查文件语法错误,比如括号不匹配、标点遗漏
    3. 用tnsping ORCL11G命令测试连接(需安装Oracle客户端工具)
  • 检查文件访问权限
    确保Visual Studio进程能读取tnsnames.ora所在路径的文件,若路径在系统目录(如C:\Program Files),建议以管理员身份启动VS

  • 确认驱动版本兼容性
    确保使用的ODP.NET托管驱动版本支持Oracle 11G,官方推荐使用12c R2及以上版本的托管驱动

报错截图

内容的提问来源于stack exchange,提问作者Burak OÇAK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:20:32