Problem
When data is exported to CSV from Oracle Analytics Data Visualization (DV), the generated CSV file is automatically encoded as UTF-8 with a Byte Order Mark (BOM).
However, when the same CSV file is subsequently uploaded into Oracle Analytics to create a Dataset, the Dataset CSV parser does not correctly handle the BOM. Instead of stripping the BOM before parsing the file, the BOM is interpreted as part of the first column header.
This can cause Dataset creation to fail with errors including:
nQSError: 103004DatasrcParserException: Error while generating canonical dataThe number of columns in CSV data does not match the number of columns in its metadata at row 1NullPointerException
This means that a CSV file exported natively from Oracle Analytics cannot reliably be imported back into Oracle Analytics without first being modified using an external tool.
Current Workaround
The UTF-8 BOM must be manually removed from the CSV before upload. Alternatively, the CSV can be converted to another supported format such as XLS.
This behaviour is documented by Oracle Support in KB119178 – Creating Dataflow Using .CSV File Fails With NQSError:103004.
Requested Enhancement
The Oracle Analytics Dataset CSV parser should detect and strip a UTF-8 BOM (EF BB BF) at the beginning of an uploaded CSV file before parsing the first column header.
This would allow CSV files generated by Oracle Analytics Data Visualization to be directly consumed by Oracle Analytics Dataset creation without requiring external modification.
Ideally, the CSV parser should transparently support both UTF-8 files with BOM and UTF-8 files without BOM.