wow this is clearly the way to go moving forward - but now I need to ask if 
I'm so far into this already that I need to bully my way through based on 
current contract work/payments, or scrap all these hours...


At 08:11 PM 1/29/03 -0500, you wrote:
>By editing the schema.ini file you can add a text datasource with CF's
>ini file functions. That way you can dynamically add dsn's when the
>end user uploads the file. Take a look at the format of the schema.ini
>file that is created, it's pretty straightforward.
>
>The fact that these files are very large, would be a reason to not
>write a manual parsing routine. Microsoft (or someone they bought :))
>already wrote a very good and fast csv parser into the ODBC Text
>driver...no need to recreate the wheel imo. I wrote quite a few csv
>imports using CF manually and there is still a indentation the size of
>my forehead on my desk because of those sleepless nights :)
>If you were working with SQL Server, using DTS to do the import would be a
>great way as well. Just wanted to throw some options your way.
>
>This is a cffunction that takes the filename after is has been
>uploaded, and creates the Text DSN, and returns the query. It could be
>easily modified it work in previous versions of CF though.
>
><cffunction name="cvsToQuery" returntype="query">
>         <cfargument name="filename" type="string">
>         <cfset var schemaFile = "E:\schema.ini">
>
>         <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", "REPNAME 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 28, 2003, 7:27:05 PM, you wrote:
>RAB> At 06:11 PM 1/29/03 -0500, you wrote:
> >>Create a ODBC Text Datasource to the file one the machine and then
> >>just use cfquery to turn it into a query...which you can loop over or
>
>RAB> THe problem is it's a multi-thousand record product table from multiple
>RAB> manufacturers and new prices come out all the time - so the client 
>needs a
>RAB> way to batch change specific product records...  If I create an ODBC
>RAB> connection, wouldn't I need to shut it off for every time the Text
>RAB> datasource is changed?
>
>RAB>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
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
Your ad could be here. Monies from ads go to support these lists and provide more 
resources for the community. http://www.fusionauthority.com/ads.cfm

                                Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
                                

Reply via email to