On 2009-05-13 08:14:09 -0700, Bruce Ferrell wrote:
> Alexander Foken wrote:
> > On 13.05.2009 02:59, Brian Manning wrote:
> >>
> >>> Can you tell me why I'm getting this error:
> >>>
> >>> DBD::mysql::st execute failed: Can't create/write to file
> >>> '/tmp/result.csv' (Errcode: 2)
> >>>     
[...]
> I figured it out and you guys are gonna love this.  Yes, it was
> permissions; No, not on the web server machine where the CGI was
> executing.  To Recap, CGI/web server on one machine, database on a
> remote machine.  SQL executed from MySQL command line on the
> CGI/Webserver drops the outfile in the expected place... happy, joyous
> and free.  The SQL, when executed from the CGI program drops the outfile
> on the database machine.  The permission errors were because the target
> directory didn't exist on the database machine.
> 
> Now, the question is how do I get the CGI to drop the outfile on the
> machine where the CGI executes?

I think you mean: How do I get the *database* to drop the outfile on the
machine where the CGI executes? 

You don't. The database can only write files within its own file system.

There are three possibilities:

1) write the file to a file system accessible over the network from both 
   the database and the webserver. This might be a directory on one of
   the two machines exported to the other via NFS (or whatever network
   filesystem you mistrust least) or on a file server accessible by
   both.

2) copy the file from the database server to the web server, for example
   with scp or rsync.

3) forget about "select into outfile". Use a normal select and process
   the results in the CGI script.

        hp

-- 
   _  | Peter J. Holzer    | Auf jedem Computer sollte der Satz Ludwigs II
|_|_) | Sysadmin WSR       | eingeprägt stehen: "Ein ewig Rätsel will ich
| |   | h...@wsr.ac.at      | bleiben, mir und andern."
__/   | http://www.hjp.at/ |    -- Wolfram Heinrich in desd

Attachment: pgpFUl903Qyct.pgp
Description: PGP signature

Reply via email to