Have you looked at the new Administrator API?  It should do everything 
you need regarding adding, deleting, and modifying datasources.  
Specifically, look at the datasource.cfc component.  I dont know what 
version of CF your running, but it is only available in CF 7.  The 
components are located in the /cfide/adminapi directory.

HTH
Steve

not me wrote:
> Hi all!
>
> I've got a basic DB with a Samples table in it to
> track a bunch of... Samples :)... for each of our
> Clients.  Setup looks something like this:
>
> Samples
> sampleID [PK]
> clientID [FK]
> ....
> otherFields
> ....
>
> "The boss" has requested that each Client be able to
> download their Samples in an Access database.  I
> figured "hey, no problem -- I'll just have CF create a
> new Access file, run a few CREATE and INSERT queries
> and I'll send them off to the result."  
>
> And it all went well until I realized that to run
> those CREATE and INSERT queries, I need to have a
> Datasource for each Access file I set up.  Now I
> thought ColdFusion had the ability to programatically
> add a datasource.  But my google searches, and
> houseoffusion searches have led me to believe that
> that isn't possible.  The only thing I could find that
> remotely dealt with my issue is:
>
> http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_18656
>
> The workaround Adobe provided there isn't going to
> work either.  That IN clause they talk about will not
> work with an INSERT statement.  I can't get it to work
> anyway... here's some code if you'd like to try it.  I
> manually set up a pass-through Datasource to an empty
> ..mdb file through my CFadministrator as Adobe
> suggested.  That Datasource name is saved in
> Request.DSName_passthrough:
>
> First I create the new table.  
> <cfquery name="create"
> datasource="#Request.DSName_passthrough#">
> CREATE TABLE Samples (
>   sampleID INTEGER,
>   ...,
>   otherFields,
>   ...
> )
> IN "C:\myNewAccessFile.mdb"
> </cfquery>
>
> Boom -- I get a "friendly" error message saying:
>
> [Macromedia][SequeLink JDBC Driver][ODBC
> Socket][Microsoft][ODBC Microsoft Access Driver]
> Syntax error in CREATE TABLE statement.
>
> I take out the IN statement, and it runs fine.  Well
> crap.  Apparently that IN statement doesn't work in
> conjunction with CREATEs.  Darn.
>
> I had the idea that I could set up a pre-built Access
> database with an empty Samples table already in it and
> copy that rather than trying to create my own table
> schema everytime.  So I did that -- Created an empty
> table named Samples in a new Access file.  Everytime I
> run the script, it copies that Access file to a new
> destination: clientAccessFile[clientID].mdb and tries
> to run through some INSERTS:
>
> <cfloop query="clientSamples">
>    <cfquery name="insertTest"
> datasource="#Request.DSName_passthrough#">
>      INSERT INTO Samples (sampleID, ..., otherFields,
> ....)
>      VALUES (
>        <cfqueryparam value="#clientSamples.sampleID#"
> cfsqltype="cf_sql_integer" />,
>        ...,
>        otherFields,
>        ...
>      )
>      IN
> "C:\clientAccessFile#clientSampls.clientID#.mdb";
>    </cfquery>
> </cfloop>
>
> Bam... new error:
>
> [Macromedia][SequeLink JDBC Driver][ODBC
> Socket][Microsoft][ODBC Microsoft Access Driver]
> Missing semicolon (;) at end of SQL statement.
>
> I take out the IN statement, and it runs without
> errors -- but I can't be storing each client's Samples
> in the same database.  They each need their own Access
> file -- the client's cannot be able to see eachother's
> records as a business rule.  
>
> I'm at a loss as to what I can do here -- any
> suggestions?  
>
> Thanks!
>
> Jonathon
>
>
>  
> ____________________________________________________________________________________
> Want to start your own business?
> Learn how on Yahoo! Small Business.
> http://smallbusiness.yahoo.com/r-index
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Upgrade to Adobe ColdFusion MX7 
Experience Flex 2 & MX7 integration & create powerful cross-platform RIAs 
http:http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:268585
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to