Our product has been using a pretty old version of the HXTT text(CSV) driver for JDBC 3.0.
Our automaton tests that test our product include a number of tests that load data using this text driver. Since upgrading to a recent version of the driver (4.2.172 released on 9/9/10) our automation tests are now failing because of a driver issue caused by our CSV files having quotes in the header names.
With the old version of the driver, it would properly strip the quotes out of the column name. Now it appears that the quote is being preserved as part of the column name. Documentation states that we need to add a property "_CSV_Quoter" to our JDBC URL. When we do that, the data, and our automation tests, work properly.
Having said that, we are concerened because of the change in behavior. Now we have to go adjust all of our automation with this new paramenter when we see this as a change in behavior of the driver. I can understand adding new behaviors with new parameters but did we do something wrong here such that the driver is behaving differently?
Was this change in behavior intended in the driver? If not, can we please get a new version of the driver where this original behavior doesn't change?
Overall, it seems strange that the column name would be returned with quotes in it as that really doesn't seem very valid.
|
>Overall, it seems strange that the column name would be returned with quotes
That's resulted by changed the default value for _CSV_Quoter connection property. Please download the latest package which will detected it even if _CSV_Quoter haven't been set. Thanks for your response:)
|
We downloaded the latest version of the driver and here are the issues we are still seeing and it's not limited to the headers as my subject suggests. We have tested this using the build in test tool in the jar. We are using version 4.2.185 on October 29, 2010.
Assuming the csv called fullnames.csv file located in my /temp directory:
FUID,EmployeeName,FirstName,LastName
FLAST,"Last, First",First,Last
JDUNN,"Dunn, John",John,Dunn
Now use the driver's test tool with the JDBC URL:
jdbc:csv:////temp?_CSV_Header=true;tmpdir=/temp
Run the sql:
select * fullnames
The result window you will see:
2 rows of data:
The 2 FUID values are correct
EmployeeName values will be "Last and "Dunn
FirstName values will be First" and John"
LastName values will be First and John
Obviously this is not correct. The original version of this driver we used did not work this way. It would properly handle the quoted values in the file.
If I change the JDBC URL to be:
jdbc:csv:////temp?_CSV_Header=true;_CSV_Quoter=";tmpdir=/temp
This doesn't seem to help in your test tool anyway.
These changes in the driver are causing a lot of issues with our customers so if you could please investigate ASAP we would appreciate it. We really do not want to have to have to re-configure every database connection URL we have using this driver for something that seems like we shouldn't need a config property for.
thanks.
|
Sorry for missed that thread. Supported now. Please download the latest package.
|