Not sure if this is a bug/issue or an install issue.
But I couldn't find a user forum to post to, or the authors email.
If there is a better location to post this please let me know and I will post there.
Installing the following :
ExcelTable 2.3.2 (last commit October 28, 2018)
CDFReader (last commit April 1, 2018)
OfficeCrypto (last commit August 24, 2018)
My oracle version - Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
Granted execute on sys.dbms_crypto to user qms_user
All objects built using userid qms_user per order in readme with no errors.
@xutl_cdf.pks
@xutl_cdf.pkb
@xutl_offcrypto.pks
@xutl_offcrypto.pkb
@ExcelTableCell.tps
@ExcelTableCellList.tps
@xutl_xls.pks
@xutl_xls.pkb
@xutl_xlsb.pks
@xutl_xlsb.pkb
@ExcelTableImpl.tps
@ExcelTable.pks
@ExcelTable.pkb
@ExcelTableImpl.tpb
I did not perform the java install because I was only interested in the ExcelTable.getRows functionality to replace the following :
CREATE TABLE NewTable as (SELECT * FROM External_file_as_table);
The current external file is a tab delimited text file which is being replace with a xlsx file.
(hence the need for ExcelTable)
Using the Examples section of the readme file I moved the sample spreadsheet sample_3.xlsx to a directory named DAT_DIR and then ran the following sample code from the readme as qms_user:
(changing the readme directory of XL_DATA_DIR to my directory of DAT_DIR)
select t.*
from table(
ExcelTable.getRows(
ExcelTable.getFile('DAT_DIR','sample_3.xlsx')
, 'DataSource'
, ' "SRNO" number
, "NAME" varchar2(10)
, "VAL" number
, "DT" date
, "SPARE1" varchar2(6)
, "SPARE2" varchar2(6)'
, 'A2'
)
) t
;
And received the following error :
ORA-06550: line 4, column 24:
PLS-00302: component 'EXCELTABLEIMPL' must be declared
ORA-06550: line 4, column 6:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
I shorted the test script trying to validate the install. I ran the following :
select ExcelTable.getFile('DAT_DIR','sample_3.xlsx') from dual;
The result was (BLOB) as expected. So I feel that at least a portion of the install was successful.
My first instinct was that the getRows function was not defined in the ExcelTable.pkb package body source.
But then I realized that the getRows function in the ExcelTable.pks package header source implements ExcelTableImpl.
I'm assuming this is an install issue on my part but I couldn't find a user forum to check for help.
Help from anyone would be greatly appreciated.
Thanks,
Roy