从存储过程刷新物化视图时出错(不是有效月份)
Posted
技术标签:
【中文标题】从存储过程刷新物化视图时出错(不是有效月份)【英文标题】:Error refreshing materialized view from a stored procedure (not a valid month) 【发布时间】:2017-08-28 19:10:34 【问题描述】:我正在尝试从存储过程刷新物化视图,我命令从 csharp 调用该过程,但是刷新视图时它向我发送错误:ORA-12008:物化视图刷新路径中的错误,然后是:ORA -01843: 不是一个有效的月份,我用另一个视图尝试过,是的,它令人耳目一新,对这个细节有帮助吗?
附上图片
这是我的代码:
我没有传递参数和日期,我只是想从 C# Visual Studio 刷新视图
string oradb = "Data Source=DATA; User Id=DATA; Password=DATA;";
OracleConnection conn = new OracleConnection(oradb);
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "ACTUALIZA_VISTAS_VRE";
//cmd.CommandText = "exec REFRESH_RECUPERADO";
cmd.ExecuteNonQuery();
conn.Close();
【问题讨论】:
你是如何传递日期的..?你能告诉我们..吗?数据库中 Oracle 日期的预期格式是什么..?您是通过 mm/dd/yyyy` 还是DD-MON-YYYY
传递它,请尽可能多地显示与您当前的问题和/或问题相关的代码..
@DanyMartinez_ 请在格式化块中使用此代码更新问题。另外,我没有在那里看到约会。日期到底是从哪里来的?
我编辑并添加了代码。
我没有将日期作为参数传递,我只是尝试使用存储过程更新视图。
MV 中的 SQL 必须尝试进行日期转换。源数据中的某些值不是预期的格式。
【参考方案1】:
存储过程或物化视图是提供无效月份的代码所在的位置。 ACTUALIZA_VISTAS_VRE 是否在调用 REFRESH_RECUPERADO?
【讨论】:
以上是关于从存储过程刷新物化视图时出错(不是有效月份)的主要内容,如果未能解决你的问题,请参考以下文章