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

使用Golang通过godror连接Oracle数据库遇ORA-12560错误求助

排查Golang godror连接Oracle出现ORA-12560错误的方案
  • 修正连接字符串格式
    你的DSN写法存在冗余空格,godror对格式要求严格,建议改成无多余空格的写法:

    db, err := sql.Open("godror", `user="username" password="password" connectString="hostname:port/service_name"`)
    

    或者更简洁的格式:

    db, err := sql.Open("godror", `username/password@hostname:port/service_name`)
    
  • 确认Oracle客户端依赖有效性
    godror依赖Oracle Instant Client,即使配置了ORACLE_HOME/TNS_ADMIN,也要验证:

    • 本地Instant Client版本与远程Oracle服务器版本兼容(优先同版本或高版本向下兼容)
    • 环境变量在当前运行程序的终端会话中已生效,比如Linux需执行source ~/.bashrc后重启程序,Windows需重启终端再运行
  • 测试网络连通性
    用telnet hostname port或nc -zv hostname port测试本地到Oracle服务器端口的连通性,排除防火墙拦截、端口映射错误等问题

  • 尝试TNS名称连接
    若已配置TNS_ADMIN,在tnsnames.ora中定义数据库别名后,改用TNS名称连接:

    db, err := sql.Open("godror", `user="username" password="password" connectString="TNS_ALIAS"`)
    

    先用tnsping TNS_ALIAS命令验证TNS配置是否生效

  • 检查文件权限
    确保运行Golang程序的用户拥有读取Oracle客户端配置文件(如tnsnames.ora、sqlnet.ora)的权限,Linux下需确认文件所属组和权限设置

内容的提问来源于stack exchange,提问作者flyme2themoon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:19:54