问题标签 [ora-28002]

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 回答
874 浏览

c++ - 宽限期内的 OCILogon - ORA-28002

当我使用 SQL*Plus 连接到密码进入宽限期的用户(Oracle 11g、Oracle 8i)时,我收到一条错误消息,但连接仍然成功:

另一方面,在我的 C++ OCI 代码中OCILogon2,如果我尝试连接同一个用户,我会得到一个OCI_ SUCCESS_ WITH_ INFO相同的“错误”,但如果我继续,OCISvcCtx*我得到的似乎是无效的(即使它不是 null ),因为尝试执行OCIAttrGetorOCIStmtExecute会给我一个OCI_INVALID_HANDLE错误。

用户应该在他的所有宽限期内成功连接到数据库,直到他的密码完全过期。那么,当我的句柄不好时,SQL*Plus 怎么能正常连接呢?我应该尝试以不同的方式连接吗?

非常感谢。

0 投票
3 回答
3135 浏览

php - 如何在 PHP oracle 宽限期消息中捕获?

我在 PHP 应用程序中使用 Oracle 数据库。

用户尝试连接到 PHP 应用程序。他的密码已过期,但他的用户配置文件的宽限期不为空,因此他仍然可以连接到应用程序。

我想做的是认识到这个用户应该更改他的密码并向他显示一条消息。

我已经尝试过oci_error(),但它没有返回任何内容,因为与该用户连接到数据库没有失败。

我想抓住 ORA-28001(和 ORA-28002)

不幸的是,我无法对数据库本身的结构进行任何更改(添加额外的表或额外的字段)。

0 投票
3 回答
4491 浏览

c# - Oracle password expiry and grace period handling using C# client

I have a c# client and I am using oracle 10g database.

My query is:

  1. Is the expiry grace period over and above exiry date?
  2. When the user is in grace period can the user change his/her password using query ALTER USER XYZ IDENTIFIED BY SOMEPWD or he still need to contact DBA.
  3. How can I handle oracle warning ORA-28002(when the user is in grace period) in c# client. does it at all gets transmitted to c# client. Would it still be handled as exception (try-catch).
  4. When the password has already expired, is it that only DBA can change your password.
  5. does the account gets locked also when expiry date has exceeded beyond grace period.

Please note I am not sys dba so I cannot access dba_users or dba_profiles.

Thanks in advance.

0 投票
1 回答
2230 浏览

perl - 在 solaris shell 脚本/perl 程序中连接到 Oracle/DB2 数据库时如何摆脱密码过期错误消息?

我正在通过shell 脚本/Perl 程序连接到Oracle/DB2数据库。我连接的数据库需要每 60 天更改一次密码。这是根据我们的安全政策,不能更改。但这在通过 shell 脚本或 perl 程序连接到数据库时会产生问题。要连接到 oracle DB,我们使用下面的 shell 脚本:

但是包含数据库连接部分日志的 SITE_SQL.log 在其中出现错误消息。

这使脚本失败。但是连接发生在数据库上,我们在假脱机文件中获得了所需的数据。当脚本检查日志文件 SITE_SQL.log 中的错误时,它会失败。我不想更改错误处理部分,但要禁止将此消息显示/登录到日志文件中,以便脚本不会在日志文件中看到此错误消息。

我们也有一个面临同样问题的 perl 脚本。下面是使用的代码。

在这里,由于我们收到密码到期警报错误消息,SubExecuteSQL 函数返回“ERROR”作为返回值,这导致 perl 脚本失败。

DBA 不同意将密码设置为不过期选项,因为它违反了安全策略。密码设置为每 60 天更改一次。因此此错误消息将开始弹出并导致失败。

请让我知道如何从获取/登录到日志文件中抑制此错误消息。

提前致谢

0 投票
1 回答
1428 浏览

c++ - 使用 OCI_SUCCESS_WITH_INFO 在 OCILogon 后获取 OCI_INVALID_HANDLE

我创建了以下个人资料。

当我尝试从命令提示符登录时,它成功登录并显示以下错误消息。

直到我没事为止。

但是我为 OCI 登录和一些操作编写了一个小程序。

当我使用上述用户调用 OCILogon 时,它返回 1 的地址OCI_SUCCESS_WITH_INFO

之后,我尝试OCI_HTYPE_SVCCTX使用OCIAttrGet它来获取返回-2的地址OCI_INVALID_HANDLE

为什么句柄会损坏?有什么办法可以克服这个问题并一直工作到宽限期结束?

请在下面找到示例 OCI 客户端。