具有ODP.net和NTS作为sysdba的ora-01017

时间:2019-04-24 07:51:48

标签: oracle odp.net-managed

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

这是我使用的powershell代码:

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<form class="navbar-form my-2 my-lg-0 ml-auto" role="search">
  <div class="input-group add-on">
    <input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
    <button class="btn btn-primary" type="submit">Search</button>
  </div>  
</form>

这是我的结果:

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

事实:

  • oracle数据库的标准版本为12.1.0.2.0,服务器为2012R2,而sqlnet.ora仅包含以下代码:

    SQLNET.AUTHENTICATION_SERVICES =(NTS)

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

  • Fips算法已禁用。

  • 任何具有oracle组件的计算机的连接均适用 sqlplus / @ some_entry作为sysdba。

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

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

我加载的Oracle.ManagedDataAccess.dll版本不正确。因此,我从一台oracle服务器中复制了正确版本的dll,并且按预期工作正常。