问题标签 [ora-01017]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
16253 浏览

oracle - 错误:java.sql.SQLException:ORA-01017:用户名/密码无效;登录被拒绝

我在数据库中输入了 10 个问题,以及他们的答案。我开始了项目,我登录了候选人 ID。之后我给了承认ID,它被接受了。之后我试图打开这个页面(这个页面是用来打开测试页面的,它会打开问题),我得到了错误信息 - java.sql.SQLException: ORA-01017: invalid username/password; 登录被拒绝据我所知,项目编码没有错误。所以我没有发布编码。错误出现在数据库连接的某个地方。(我已经看到其他有此错误的主题,但没有找到帮助)。

}
}


" name="forma"> 剩余时间:
" style="border:0px 纯白;背景:#F0EFE2">:" style="border:0px 纯白;背景:#F0EFE2">计时器();

" value="<%=rs.getString("option1")%>"> A. <%=rs.getString("option1")%> " value="<%=rs.getString("option2")% >"> B. <%=rs.getString("option2")%>

" value="<%=rs.getString("option3")%>"> C. <%=rs.getString("option3") %> " value="<%=rs.getString("option4")%>"> C. <%=rs.getString("option4")%>

0 投票
3 回答
2870 浏览

sql - sqlplus 12.1 中的 ORA-01017 错误,可以在其他应用程序中使用相同的凭据连接

我在 Fedora 19 上安装了 SQL*Plus 12.1,试图连接到 Oracle 11g 数据库。我从这里安装了 Instantclient RPM 软件包(basic、devel、sqlplus)。我可以使用 SQL*Plus 成功连接到其他 Oracle 数据库,因此我知道我已经安装了该软件。但是,当我尝试连接到这个特定的数据库时,我收到了这个错误:

这是我的 tnsnames.ora 文件(主机和端口被混淆了):

我的 TNS_ADMIN 环境变量设置为我的 tnsnames.ora 文件的路径。

我正在运行连接的命令:

按下回车后,它会在版本和版权信息上挂起大约 2-3 秒,然后给我 ORA-01017 错误。

我知道我输入了正确的用户名和密码,因为我从另一个成功连接到数据库的应用程序中复制并粘贴了它。

编辑

我查看了 log.xml 文件(在 中C:\oracle\product\11.2.0\diag\tnslsnr\test\listener\alert\log.xml),发现有一些条目表明我正在与正确的听众交谈。这是日志条目的示例,但对可能的敏感信息进行了混淆:

从那以后,我也尝试将 tnsnames.ora 文件中的 *SERVICE_NAME* 元素更改为SID,没有区别。

用引号包围我的密码也不能解决问题。

会不会是版本问题?我使用的是 Instantclient 和 sqlplus 12.1 版,但数据库是 11.2 版。

编辑 2

嗯,这是官方的。我是个白痴,这就是导致错误的原因。我输入了错误的密码,我猜我复制粘贴的内容也是错误的。

0 投票
9 回答
31243 浏览

c# - Oracle.ManagedDataAccess 和 ORA-01017:用户名/密码无效;登录被拒绝

我在我们的一台服务器上遇到了具有挑战性的情况。我有一个需要连接到 Oracle 12c 数据库的 ASP.NET MVC 3 应用程序。它使用以下连接字符串执行此操作:

我也在使用 Oracle 的 Oracle.ManagedDataAccess,版本 4.121.1.0。每次尝试连接都会导致以下错误:

我可以使用上述凭据在我的桌面上成功连接。我在另一台服务器上有相同的代码,但使用的是旧的、非托管版本的库,它可以使用上述凭据成功连接。但是,我希望运行我的代码的服务器每次使用相同的凭据都会失败,这些凭据可以在不同的服务器上成功连接。

在失败的服务器上,我可以:

  • 通过 SQLPLUS 连接
  • 使用 TNSPING 访问数据库
  • 创建系统 DSN 以建立 ODBC 连接

我检查了所有位置的 TNSNAMES.ORA,它们似乎是正确的。

在多次访问数据库后,该帐户实际上被锁定,这表明我确实在访问数据库并且数据库不喜欢提供的凭据。我检查了以前成功连接的应用程序,它们也失败了,错误提示帐户已被锁定。解锁帐户会导致这些应用程序成功连接,但我遇到问题的服务器除外。

我已经黔驴技穷了。

是否有人对可能导致此问题的原因有任何其他建议?

编辑

我在本地计算机和有问题的服务器上安装了 WireShark。我捕获了我的桌面和数据库以及有问题的服务器和数据库之间的通信。我发现我的桌面传达了密码:

而我遇到问题的服务器没有(或者至少这是假设):

有谁知道即使密码存在于连接字符串中也会阻止密码传输的安全/配置设置?

编辑(20180713):

在我的特殊情况下,问题是 FIPS 设置。

对于那些做研究的人来说,有几种方法可以解决这个问题。

  1. 您可以更改位于 HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled 的注册表设置。如果启用 FIPS,则值为 1。如果禁用,则值为 0。您无需重新启动。

  2. 您遇到此问题的原因很可能是启用了 FIPS 并且您正在使用 Oracle 托管数据访问库。一个可靠的解决方法是使用非托管库。但是,要使用这个库,您需要安装 Oracle Instant Client。该客户端可在Oracle 数据访问组件中下载。

  3. 将您的服务器升级到 Oracle 12.2c。12.2c之前的Oracle 12c版本还是有这个问题。

如果您没有启用 FIPS,您很可能需要调查您的数据库是否将 SEC_CASE_SENSITIVE_LOGON 设置设置为 true。您将需要执行 ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; 然后重置所有密码。

0 投票
1 回答
1843 浏览

oracle12c - ORA-01017 创建 12c 数据库时用户名/密码无效

我已经开始学习 Oracle 12C,但每次尝试创建数据库时都会收到 ORA-01017 错误。我想找出我做错了什么,但由于 DBCA 关闭并且数据库没有完全创建,我不知道在哪里可以查看生成错误的参数。我怎样才能解决这个问题?

0 投票
1 回答
5937 浏览

oracle - oracle 12.2.0.1 上的 ora-01017 - 无法设置不区分大小写的密码

我需要一些帮助来设置不区分大小写的密码登录。我尝试设置 SEC_CASE_SENSITIVE_LOGON = FALSE 但 oracle 客户端不允许我使用不区分大小写的密码登录。

出现错误:Ora-01017

关于我如何为这个 oracle 服务器版本实现这一点的任何线索。

0 投票
1 回答
1375 浏览

java - java.sql.SQLException: ORA-01017: 无效的用户名/密码;登录被拒绝

我有一个关于将 spring 项目连接到 oracle 数据库 12 c 的问题。

我的 config.properties 文件如下所示

我的 aplication-context.xml 文件如下:

这以前可以工作,但是后来我们将数据库的用户名更改为其他内容,然后它就停止了工作。

以前我们遇到了编码问题,因为我们的密码中有一个下划线,所以我们必须使用转义字符来使它像这样(\)工作。但话又说回来,我们不得不更改用户名,它停止工作!

任何帮助都感激不尽。感谢您的时间。

0 投票
1 回答
571 浏览

oracle - Oracle 12c 审计跟踪。审计跟踪可以显示登录尝试的密码吗?

我有一个应用程序多年来一直成功登录到我们的数据库而没有问题。

密码没变,可以手动登录。

我在数据库中启用了审计跟踪,可以看到登录尝试失败并返回 1017 代码,表明用户名和密码组合无效。

在应用程序中输入的密码是正确的,但仍被数据库拒绝。我通过使用 SQL Developer 登录确认了用户并通过组合。

审计跟踪有什么方法可以显示收到的密码,以便我可以找出密码在应用程序和数据库之间是如何更改的。

除了无效的用户/通行证之外,还有其他导致 1017 的原因吗?

0 投票
1 回答
127 浏览

tde - Oracle 19c TDE 系统

数据库版本是 19.3。

在 PDB 中部署 TDE 时,我们无法以 syskm 身份连接到 PDB。我们能够以 sys 用户身份连接到 PDB 而不会出错。

Metalink 中没有报告 syskm 的问题。19c PDB 的 syskm 有任何已知问题吗?或者有什么想法吗?

0 投票
0 回答
759 浏览

oracle - Oracle 12.2:重置用户密码不起作用

我尝试将使用 Oracle 12.1(12c 第 1 版)创建的数据库转储导入我的 Oracle 12.2。

由于错误或无效的身份验证协议导致了一些问题:

ORA-28040: No matching authentication protocol

我发现了一些人们遇到类似问题的帖子,并尝试通过将以下两行添加到我的 sqlnet.ora 来修复它(该文件位于 C:\app\oracle\product\12.2.0\dbhome_1\network\admin 中) :

从那以后,我再也无法与我的任何用户联系了。我已经从 sqlnet.ora 中删除了上面的两行,现在我的 sqlnet.ora 只包含以下两行,就像以前一样:

但我现在无法与任何用户联系。我以为我只需要重置所有用户的密码。

所以我试图重置所有 Oracle 用户的密码。因此,我使用 cmd 并以 sysdba 身份登录到 sqlplus:

如果我尝试在 SQL Developer 的 GUI 中重置密码,也会发生同样的情况。我总是得到 ORA-01017。

对于另一个用户,它再次起作用,但只有在我尝试了以下操作之后:

alter user CUST2 identified by "cust2";

因此,我不得不将密码放在双引号中,并且在 SQL Developer 的连接属性中,我为用户 CUST2 使用了不带引号的密码 cust2。不知何故,但我已经为用户 CUSTOMER 尝试了以下密码选项:CUST、“CUST”、cust、“cust”。我还尝试了不同的密码,例如 TEST、test、“Test”、“custom”、“custom”等。

但是没有任何效果,我无法再与用户 CUSTOMER 联系。

我的 Oracle 实例的 SID 是 orcl,我还尝试了以下方法:

有人知道如何解决这个问题吗?

0 投票
1 回答
459 浏览

oracle - 与 Pentaho PDI 连接时出现 ORA-01017

我安装了 XE 18c,并与 SQL Developer 建立了联系。我创建了与 Pentaho PDI 的连接,但出现此错误:

我添加到 C:\app\myuser\product\18.0.0\dbhomeXE\network\admin\sqlnet.ora 这行:

我添加到 C:...\PDI\data-integration\lib 这个文件:

在连接中,我将数据库名称从XE更改为/XE

总是这个错误。