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

ORA-01017错误求助:SSMA连Oracle 11g失败但SQLPLUS可连接

解决SSMA连接Oracle时的ORA-01017错误

  • 确认ODP.NET与Oracle客户端版本匹配:保证安装的ODP.NET版本和Oracle 11.2客户端完全兼容,避免混用不同版本组件。可在C:\Windows\Assembly或GAC_MSIL目录查看ODP.NET版本号,需为11.2.x.x系列。
  • 检查SSMA的Oracle驱动配置:打开SSMA的「工具」→「项目设置」→「Oracle连接」,确认驱动选择ODP.NET,且指定的Oracle客户端路径指向正确的11.2安装目录(例如C:\app\client\<用户名>\product\11.2.0\client_1)。
  • 验证用户名密码大小写一致性:Oracle 11g默认大小写不敏感,但如果数据库开启SEC_CASE_SENSITIVE_LOGON参数,需确保SSMA输入的密码大小写和SQLPLUS一致。可在SQLPLUS中执行SELECT value FROM v$parameter WHERE name='sec_case_sensitive_logon';查看参数状态,若为TRUE则严格匹配密码大小写。
  • 清除SSMA缓存凭据:关闭SSMA,删除C:\Users\<你的用户名>\AppData\Roaming\Microsoft\SSMA for Oracle路径下的缓存文件,重启后重新输入登录信息。
  • 测试ODP.NET独立连接:编写简单C#程序验证ODP.NET是否能正常连接,排除SSMA本身问题:
    using Oracle.DataAccess.Client;
    
    class Program
    {
        static void Main()
        {
            string connString = "Data Source=<你的TNS名称>;User Id=<用户名>;Password=<密码>;";
            using (OracleConnection conn = new OracleConnection(connString))
            {
                conn.Open();
                System.Console.WriteLine("连接成功");
                conn.Close();
            }
        }
    }
    
    若程序连接成功,问题出在SSMA配置;若失败,重新安装ODP.NET并确认客户端配置正确。
  • 核对TNS配置准确性:即使SQLPLUS能连接,也要确认TNSNAMES.ORA中的服务名配置无多余空格或特殊字符,且SSMA选择的TNS名称与文件中完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:07:11