我有一个简单的 cfschedule 任务,它使用 check_settings.cfm。 check_settings 有以下内容
<cftry>
<cfquery name="get_settings" datasource="#request.dsn#">
select id, setting_value
from tbl_appsettings
where scope = 'A'
and active = 1
</cfquery>
<cfcatch type="any">
<cfmail from="admin@abc.com"
to="user@abc.com"
subject="Settings check"
type="html">
We have encountered a problem.<br />
cfcatch.Message = #cfcatch.Message#<br />
cfcatch.Detail = #cfcatch.Detail#<br />
The program has been aborted.
</cfmail>
<cfabort>
</cfcatch>
该任务按月安排,但上次运行时出现错误:
cfcatch.Message = 执行数据库查询时出错。
cfcatch.Detail = [Macromedia][Oracle JDBC Driver][Oracle]ORA-28000:帐户被锁定。
这可能是由 DSN 设置中的过期数据库密码引起的。我知道由于某些安全政策,我们的网络管理员每 3 个月更改一次密码。这可能是原因吗?
最佳答案
可能发生的情况是帐户因登录失败而被锁定。是的,那是因为 ColdFusion DSN 中的数据库密码已过期。您必须将密码更新为正确的密码(不确定 Web 管理员从何而来;您应该联系您的 DBA),然后才能解锁该帐户。
我会检查以确保计划任务在以前的情况下正常运行。可能是因为登录尝试失败而失败,这就是导致帐户被锁定的原因。
您的 DBA 还应该能够更改触发锁定帐户的失败尝试次数。我认为这个值在当前版本的 Oracle 中是 10。
附带说明一下,您可能没有过期的密码,但帐户已被锁定,因为其他人试图使用错误的密码登录。
关于oracle - ColdFusion:获取 ORA-28000:运行 cfschedule 时帐户被锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786134/