oracle - FRM-50026 日期必须以 DD-MON-YYYY 等格式输入
问题描述
我正在创建表单,其中用户选择“CSV”文件并将“CSV”数据导入 Oracle 表单数据块。当我将日期列值导入数据块时,我有日期列,然后出现以下错误
“FRM-50026 日期必须以 DD-MON-YYYY 等格式输入”
“CSV”文件中的我的日期列格式:
我的表格:
代码:
DECLARE
application Client_OLE2.Obj_Type;
workbooks Client_OLE2.Obj_Type;
workbook Client_OLE2.Obj_Type;
worksheets Client_OLE2.Obj_Type;
worksheet Client_OLE2.Obj_Type;
worksheet2 Client_OLE2.Obj_Type;
cell Client_OLE2.OBJ_TYPE;
args Client_OLE2.OBJ_TYPE;
cell_value varchar2(100);
num_wrkshts NUMBER;
wksht_name VARCHAR2(250);
j integer:=1;
BEGIN
-- Get the name of the file to open
--v_fName := 'D:\MyDevelopment\Forms\Samples\WebUtil\Read_Excel\planets3.xls';
IF ( :BLOCK2.FILE IS NOT NULL ) THEN
-- The following sets up communication with the excel spreadsheet
-- --------------------------------------------------------------
-- Open the OLE application
application := Client_OLE2.create_obj('Excel.Application');
-- Keep the application hidden
Client_OLE2.set_property(application,'Visible','false');
workbooks := Client_OLE2.Get_Obj_Property(application, 'Workbooks');
args := Client_OLE2.CREATE_ARGLIST;
-- Open the selected File
-- ----------------------
Client_OLE2.add_arg(args,:BLOCK2.FILE);
workbook := Client_OLE2.GET_OBJ_PROPERTY(workbooks,'Open',args);
Client_OLE2.destroy_arglist(args);
worksheets := Client_OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');
-- Get number of worksheets
-- ------------------------
num_wrkshts := Client_OLE2.GET_NUM_PROPERTY(worksheets, 'Count');
worksheet := Client_OLE2.GET_OBJ_PROPERTY(application,'activesheet');
--Go to the first record
go_block('we_group_hof_k');
first_record;
loop
If :system.record_status <> 'NEW' then
create_record;
end if;
for k in 1..1 loop
args:= Client_OLE2.create_arglist;
Client_OLE2.add_arg(args, j);
Client_OLE2.add_arg(args, k);
cell:= Client_OLE2.get_obj_property(worksheet, 'Cells', args);
Client_OLE2.destroy_arglist(args);
cell_value :=Client_OLE2.get_char_property(cell, 'Value');
--Could be done this way also ->
/*if k =1 then
:dept.deptno:=cell_value;
end if;
if k =2 then
:dept.dname:=cell_value;
end if;
if k =3 then
:dept.loc:=cell_value;
end if;
*/
--Less code this way ->
copy(cell_value,name_in('system.cursor_item'));
next_item;
end loop; --for
j:=j+1;
end loop;--main loop
-- Release the Client_OLE2 object handles
IF (cell IS NOT NULL) THEN
Client_OLE2.release_obj(cell);
END IF;
IF (worksheet IS NOT NULL) THEN
Client_OLE2.release_obj(worksheet);
END IF;
IF (worksheets IS NOT NULL) THEN
Client_OLE2.release_obj(worksheets);
END IF;
IF (worksheet2 IS NOT NULL) THEN
Client_OLE2.release_obj(worksheet2);
END IF;
IF (workbook IS NOT NULL) THEN
Client_OLE2.release_obj(workbook);
END IF;
IF (workbooks IS NOT NULL) THEN
Client_OLE2.release_obj(workbooks);
END IF;
Client_OLE2.invoke(application,'Quit');
Client_OLE2.release_obj(application);
ELSE
Message('No File selected.');
message(' ');
RAISE Form_Trigger_Failure;
END IF;
END;
如何在 Oracle Forms 11g 中解决此问题
解决方案
您可以在导入之前转换值吗?
推荐阅读
- windows - 如何从 Windows 命令提示符启动运行窗口(Windows 键 + R)?我还想定义 WHAT 程序 Run 应该在同一命令中打开
- c# - 动态加载 DropDownList
- c# - 通过 azure 函数以同步方式同时处理多个文件
- scheme - 方案中的嵌套条件和未指定的返回值
- python - np.uint8() 使法线向量计算错误
- python - Seaborn pairplot,每个三角形都有不同的数据
- regex - 使用正则表达式的 Github 用户名约定
- java - 垃圾收集器如何释放那些在没有任何引用名称的情况下创建的新对象
- angular - 单击时切换未按预期显示数据
- python - 在python中更改字符串的特定部分