View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006053||JEDI VCL||00 JVCL Components||public||2012-12-26 02:35||2013-12-16 17:05|
|Target Version||Fixed in Version|
|Summary||0006053: Exception: "CSV string is too long" with non-escaped lines containing internal quotes|
|Description||Trying to import a simple CSV file (separated by semicolon) and get an exception on a line with a double quote inside a column:|
CSV string is too long: 78494010-1;SOC COMERCIAL O"HIGGINS LIMIT.
I've attached a project that reproduces the issue. In the Delphi IDE try to change the dataset Active property to true and you should get the exception.
I've added MadExcept's information.
|Additional Information||Removed by reporter's request|
|Tags||No tags attached.|
test_csv.zip (490,458 bytes)
||Hm, sorry for the spam - didn't notice how verbose MadExcept is.|
||Double quotes should be escaped, having them like that is a sure way to wreak havoc|
||A double quote located anywhere but right at the beginning of a new column shouldn't have any special meaning. If it does, it is a bug.|
||By the way, is it possible to remove the "Additional information" field? It is shameful (and full of private information!)|
Can you just press "Edit" button to the left down from the list of attached files ?
If fields are not enclosed with double quotes, then
double quotes may not appear inside the fields.
||Ok, not a bug. Is it possible to make it support it anyways? Excel consumes and creates this file without problems. I'll take a look but I remember getting lost in the source last time.|
Good luck. TDataSet internals are a very complicated thing, i remember it from my TDbf days.
Now that Joanna Carter removed Delphi articles from her site, including DS internal mechanics review, that would be quite a task for you.
||So, what do we do here? Simply resolve as "not fixable" ?|
I'd close as "postponed" or what that is in English. If someone would implement - he is welcome to add patch here. If no one would - then be it.
It is "fixable" - it is that none of us has resources/desire to design and implement the fix.
|2012-12-26 02:35||leus||New Issue|
|2012-12-26 02:35||leus||File Added: test_csv.zip|
|2012-12-26 02:37||leus||Note Added: 0020321|
|2013-01-15 16:09||obones||Note Added: 0020382|
|2013-01-15 16:09||obones||Status||new => feedback|
|2013-01-16 05:30||leus||Note Added: 0020394|
|2013-01-16 05:31||leus||Note Added: 0020395|
|2013-08-31 03:52||Arioch||Note Added: 0020608|
|2013-08-31 03:53||Arioch||Relationship added||has duplicate 0006149|
|2013-08-31 03:56||Arioch||Note Edited: 0020608|
|2013-08-31 03:57||Arioch||Additional Information Updated|
|2013-09-02 17:17||leus||Note Added: 0020629|
|2013-09-03 08:17||Arioch||Note Added: 0020632|
|2013-09-03 08:19||Arioch||Summary||Exception: "CSV string is too long" => Exception: "CSV string is too long" with non-escaped lines containing internal quotes|
|2013-12-13 11:46||obones||Note Added: 0020801|
|2013-12-13 12:13||Arioch||Note Added: 0020807|
|2013-12-16 17:05||obones||Note Added: 0020868|
|2013-12-16 17:05||obones||Status||feedback => resolved|
|2013-12-16 17:05||obones||Resolution||open => suspended|
|2013-12-16 17:05||obones||Assigned To||=> obones|