【问题标题】:ora-01017 with ODP.net and NTS as sysdba使用 ODP.net 和 NTS 作为 sysdba 的 ora-01017
【发布时间】:2019-04-24 07:51:47
【问题描述】:

我在使用 NTS 和 ODP 作为 sysdba 连接到我的 oracle 数据库时遇到问题(目标是使用大量没有任何密码的维护脚本)。我做了一些研究但没有成功,所以我来了。

这是我使用的 powershell 代码:

$srvOra = "oracle_server"
$port = 1521
$serviceName = "serviceName"

Add-Type -Path "C:\some_rep\Oracle.ManagedDataAccess.dll"  #version 4.121.2.0

$connectionString = "User Id=/;DBA Privilege=SYSDBA;Data Source=" + "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)" + "(HOST=$srvOra)(PORT=$port))(CONNECT_DATA=" + "(SERVICE_NAME=$serviceName)))"
$connection = New-Object Oracle.ManagedDataAccess.Client.OracleConnection($connectionString)
$connection.open()

这是我的结果:

  • 从只有 odp dll 的多个服务器(2008r2、2012r2、2016 windows 服务器),我收到 ORA-01017 错误:用户名/密码无效;
  • 从多个安装了 oracle 客户端的服务器,我收到相同的错误
  • 从一个oracle服务器到另一个oracle服务器,连接成功*_*

事实:

  • oracle 数据库是 12.1.0.2.0 std,服务器是 2012R2,sqlnet.ora 只包含以下 lign :

    SQLNET.AUTHENTICATION_SERVICES = (NTS)

  • 我的帐户是每个数据库服务器上 ora_dba 组的成员。

  • Fips 算法已禁用。

  • 来自任何带有 oracle 组件的计算机的连接都适用于 sqlplus /@some_entry 作为 sysdba。

任何帮助将不胜感激。谢谢你的时间:)

【问题讨论】:

    标签: oracle odp.net-managed


    【解决方案1】:

    我找到了解决办法。

    我加载的 Oracle.ManagedDataAccess.dll 版本不正确。所以我从我的一台 oracle 服务器复制了正确版本的 dll,它运行良好,正如预期的那样。

    【讨论】:

      猜你喜欢
      • 2017-04-15
      • 2023-03-25
      • 2017-07-17
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      相关资源
      最近更新 更多