Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Win32/DBD::ODBC: works from cmd.exe, not works from apache (xampp)

by afoken (Chancellor)
on Nov 28, 2016 at 06:27 UTC ( [id://1176683]=note: print w/replies, xml ) Need Help??


in reply to Win32/DBD::ODBC: works from cmd.exe, not works from apache (xampp)

ERROR ODBC: [-1022] [] "[Microsoft][ODBC dBase Driver] Disk or networ +k error." ERROR ODBC: [Microsoft][ODBC dBase Driver] Disk or network error. (SQL +-HY000)

Did you search for the error codes? SQL-HY000 seems to be quite common, according to a 10 sec Google search, and there is at least one related hotfix available at microsoft.com.

my $dir = "e:/db/";

Is E: a network drive? Drive letters on modern Windows versions are (usually) per session, so E: might not be mapped or mapped with wrong permisssions in the service.

when they started from local apache web server (XAMPP, running under the same user)

As far as I remember, Windows services have some restrictions. The most trivial one is that services are usually not allowed to interact with the desktop, i.e. you can't open a window (including message boxes) from a service.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Replies are listed 'Best First'.
Re^2: Win32/DBD::ODBC: works from cmd.exe, not works from apache (xampp)
by alexander_lunev (Pilgrim) on Nov 28, 2016 at 07:19 UTC

    E: is not a network drive, and if it was then script would not work from cmd.exe either. But it works from cmd.exe.

    Apache/XAMPP is not started as a service, but as a regular process under the same user (me) that is starting the same script from cmd.exe.

    I would understand if a Perl from apache couldn't have access to files in e:/db/. But it can list the files.

    I would understand if a Perl from apache couldn't have access to ODBC. But it can list system DSNs from ODBC driver.

      What happens if you do system $^X, 'full/path/to/file/that/works/from/cmd.pl' from within apache program?
        The same error:
        Content-Type: text/html; charset=utf-8 ERROR ODBC: [Microsoft][ODBC dBase Driver] Disk or network error. (SQL +-HY000)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1176683]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2024-04-24 10:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found