首页 > 解决方案 > 使用 ODP.net 和 NTS 作为 sysdba 的 ora-01017

问题描述

我无法使用 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()

这是我的结果:

事实:

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

标签: oracleodp.net-managed

解决方案


我找到了解决方案。

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


推荐阅读