Thanks Jon for your response (as well as Jerry's). I was reading some stuff on M$ web site about schema.in and your approach seems quite elegant. I consulted one of Ben Forta's book as well about querying text files and in there it suggests you can also use CFHTTP for this. Can you (or anyone on the list) comment on the advantages and disadvantages of any of approaches offered.
TIA!!! ********** Kevin Parker Web Services Manager WorkCover Corporation [EMAIL PROTECTED] www.workcover.com p: 08 82332548 f: 08 82332000 m: 0418 806 166 ********** -----Original Message----- From: jon hall [mailto:[EMAIL PROTECTED]] Sent: Thursday, 9 January 2003 2:43 AM To: CF-Talk Subject: Re: Test CSV I did the same thing not to long ago, importing emails from an ACT exported list. I ended up using reading the uploaded file via an ODBC Text DSN. This lets the ODBC driver handle any corrupted data, and turns the csv into a query automagically. All I did was manually create a ODBC Text DSN to get the schema.ini format, and proceeded to write the below function to handle creating text dsns on the fly. <cffunction name="cvsToQuery" returntype="query"> <cfargument name="filename" type="string"> <cfset var schemaFile = "E:\emailman\emailUpload\schema.ini"> <!--- Make sure dsn name hasn't been created already ---> <cfif len(trim(getProfileString(schemaFile, arguments.filename, "ColNameHeader"))) EQ 0> <cfset rs = setProfileString(schemaFile, arguments.filename, "ColNameHeader", "False")> <cfset rs = setProfileString(schemaFile, arguments.filename, "Format", "CSVDelimited")> <cfset rs = setProfileString(schemaFile, arguments.filename, "MaxScanRows", "0")> <cfset rs = setProfileString(schemaFile, arguments.filename, "CharacterSet", "OEM")> <cfset rs = setProfileString(schemaFile, arguments.filename, "Col1", "CUSTNAME Char Width 255")> <cfset rs = setProfileString(schemaFile, arguments.filename, "Col2", "CUSTREP Char Width 255")> <cfset rs = setProfileString(schemaFile, arguments.filename, "Col3", "CUSTEMAIL Char Width 255")> </cfif> <cfquery datasource="textsource" name="textqry"> SELECT * FROM [#arguments.filename#] </cfquery> <cfreturn textqry> </cffunction> -- jon mailto:[EMAIL PROTECTED] Tuesday, January 7, 2003, 5:27:11 PM, you wrote: PK> I have a CSV file that I want to read into variable (see below). Before PK> doing so I think I should test the construction of the file to ensure that PK> its valid otherwise I think there is a risk of the process falling over if PK> it encounters a badly constructed file somewhere a long the way. How can I PK> test that a file is a validly constructed CSV file. It will contain e-mail PK> addresses exported from ACT. PK> TIA!!! PK> <cffile action="READ" file="loop.txt" variable="LoopVariableName"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4