Oracle 报告错误:ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小
我收到此错误报告错误: ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小 关于Oracle Apex v 20.2 当我试图将数据从.xlsx文件解析到报告窗口时,我将列数增加到85列以上,而我的excel文件仍然得到300多列 我的问题是:Oracle 报告错误:ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小,oracle,plsql,oracle-apex,oracle-apex-5.1,plsql-package,Oracle,Plsql,Oracle Apex,Oracle Apex 5.1,Plsql Package,我收到此错误报告错误: ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小 关于Oracle Apex v 20.2 当我试图将数据从.xlsx文件解析到报告窗口时,我将列数增加到85列以上,而我的excel文件仍然得到300多列 我的问题是: select line_number, col001, col002, col003, col004, col005, col006, col007, col008, col009, col010,
select line_number, col001, col002, col003, col004, col005,
col006, col007, col008, col009, col010,
col011,col012,col013,col014,col015,col016,col017,col018,col019,col020,col021,col022,col023,col024,col025,col026,col027,col028,col029,
col030,col031,col032,col033,col034,col035,col036,col037,col038,col039,col040,col041,col042,col043,col044,col045,col046,col047,col048,col049,col050,col051
,col052,col053,col054,col055,col056,col057,col058,col059,col060,col061,col062,col063,col064,col065,col066,col067,col068,col069,col070,
col071,col072,col073,col074,col075,col076
,col078,col079,col080,col081,col082,col083,col084
col085,col086,col087,col088,col089,col090
-- more columns (col011 to col300) can be selected here.
from apex_application_temp_files f,
table( apex_data_parser.parse(
p_content => f.blob_content,
p_add_headers_row => 'Y',
--
p_xlsx_sheet_name => :PX_XLSX_WORKSHEET,
--
p_store_profile_to_collection => 'FILE_PARSER_COLLECTION',
p_file_name => f.filename ) ) p
where f.name = :PX_FILE
但如果我只选择85列或更少,它就可以正常工作
任何帮助 据我所知,当你达到极限时,你是做不到的 但是,您可以使用以下选项之一:
- 将文件分割成更小的块-4个文件,大约有80列(正如您所说,可以使用85列)。每一行都应该包含唯一标识每一行的
列,以便以后可以“合并”它们。这个过程可能需要4个不同的数据库表,以及随后的一些编程工作ID
- 将文件另存为CSV(文本)文件。使用SQL Loader将其加载到数据库中。它没有这样的限制,而且速度非常快,所以您可以在一次运行中加载所有内容。
- 或者,您可以将该文件用作外部表的源。请注意,此选项需要访问数据库服务器(而SQL Loader在您自己的PC上处理文件)