我在一些WSDL中有这个:
<element name="startDate" type="xsd:dateTime"/>
<element name="endDate" type="xsd:dateTime"/>
Run Code Online (Sandbox Code Playgroud)
这导致SOAP信封中的以下文本:
<startDate>2008-10-29T12:01:05</endDate>
<endDate>2008-10-29T12:38:59.65625-04:00</endDate>
Run Code Online (Sandbox Code Playgroud)
只有一些时间具有毫秒和区域偏移.这让我头疼,因为我试图在这个例子中获得37分54秒的范围,但由于偏移我最终得到了4小时37分54.65625秒.这是DateTime中的某种舍入错误吗?我该如何防止这种情况发生?
我有一个大约一百万行的表,我需要用一个冗长的计算结果更新表中的每一行(计算得到每行的可能不同的结果).因为它很耗时,所以DBA必须能够控制执行.这个特殊的计算需要每年运行一次(它是年终摘要).我想使用DBMS_SCHEDULER.CREATE_JOB创建一个作业,它可以从表中获取100行,更新它们然后停止; 然后,下一次执行该作业将获取先前执行停止的位置.
我的第一个想法是在我的存储过程结束时包含此代码:
-- update 100 rows, storing the primary key of the last
-- updated row in last_id
-- make a new job that will run in about a minute and will
-- start from the primary key value just after last_id
dbms_scheduler.create_job
( job_name=>'yearly_summary'
, job_type=>'STORED_PROCEDURE'
, job_action=>'yearly_summary_proc(' || last_id || ')'
, start_date=>CURRENT_TIMESTAMP + 1/24/60
, enabled=>TRUE
);
Run Code Online (Sandbox Code Playgroud)
但是,当存储过程运行时,我收到此错误:
ORA-27486: insufficient privileges
ORA-06512: at "SYS.DBMS_ISCHED", line 99
ORA-06512: at "SYS.DBMS_SCHEDULER", line 262
ORA-06512: at "JBUI.YEARLY_SUMMARY_PROC", line 37 …Run Code Online (Sandbox Code Playgroud)