Discussion:
MS SQL Server: run external program
(too old to reply)
Ammammata
2021-07-29 10:43:20 UTC
Permalink
Hi

I'm trying to run MS Access runtime, with my procedure and an additional
parameter

the command line is
MSACCESS.EXE c:\Sviluppo\QCT\QCT1000.mdb ;255

without path, being it already included in the PATH variable

this command works fine when I use the "Run" window




when I try this command from within MSSMS

EXEC xp_cmdshell 'MSACCESS.EXE c:\Sviluppo\QCT\QCT1000.mdb ;255';
GO

I get the error:

output
'MSACCESS.EXE' is not recognized as an internal or external command,
operable program or batch file.
NULL


If I include the path in the command line

EXEC xp_cmdshell '"C:\Program Files\Microsoft Office\Office16\MSACCESS.EXE"
c:\Sviluppo\QCT\QCT1000.mdb ;255';
GO

it goes into a loop and I have to kill MSSMS to exit

Note that I'm not sure how to use "" because of the space in the path
between words Microsoft and Office

Any suggestion is welcome
--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........
J.O. Aho
2021-07-29 12:26:33 UTC
Permalink
On 29/07/2021 12.43, Ammammata wrote:

Hi there,
this is a MySQL forum and has nothing to do with mssql or ms-access, so
adding c.d.ms-sqlserver and c.d.ms-access which also been follow-up to.
Post by Ammammata
I'm trying to run MS Access runtime, with my procedure and an additional
parameter
the command line is
MSACCESS.EXE c:\Sviluppo\QCT\QCT1000.mdb ;255
without path, being it already included in the PATH variable
Maybe that is your account users PATH and not the system PATH. There is
a creepy GUI that you can use and check that.
Post by Ammammata
when I try this command from within MSSMS
EXEC xp_cmdshell 'MSACCESS.EXE c:\Sviluppo\QCT\QCT1000.mdb ;255';
GO
output
'MSACCESS.EXE' is not recognized as an internal or external command,
operable program or batch file.
NULL
You need to give the full path to the MSACCESS.EXE or see to that the
service user that runs the mssql has the correct path set in PATH. Don't
forget to restart the service after change in the environment variables.
Post by Ammammata
If I include the path in the command line
EXEC xp_cmdshell '"C:\Program Files\Microsoft Office\Office16\MSACCESS.EXE"
c:\Sviluppo\QCT\QCT1000.mdb ;255';
GO
it goes into a loop and I have to kill MSSMS to exit
Note that I'm not sure how to use "" because of the space in the path
between words Microsoft and Office
Looks ok, as microsoft made a bad choise to use \ as directory divider
instead of /, so they couldn't escape characters as in most other
operating systems with the backslash.
Post by Ammammata
Any suggestion is welcome
Switch to a proper OS and a better database
--
//Aho
Loading...