Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.databases.ms-sqlserver > #2097 > unrolled thread

Re: MS SQL Server: run external program

Started by"J.O. Aho" <user@example.net>
First post2021-07-29 14:26 +0200
Last post2021-07-30 08:42 +0000
Articles 3 — 3 participants

Back to article view | Back to comp.databases.ms-sqlserver

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: MS SQL Server: run external program "J.O. Aho" <user@example.net> - 2021-07-29 14:26 +0200
    Re: MS SQL Server: run external program Erland Sommarskog <esquel@sommarskog.se> - 2021-07-30 10:24 +0200
      Re: MS SQL Server: run external program Ammammata <ammammata@tiscalinet.it> - 2021-07-30 08:42 +0000

#2097 — Re: MS SQL Server: run external program

From"J.O. Aho" <user@example.net>
Date2021-07-29 14:26 +0200
SubjectRe: MS SQL Server: run external program
Message-ID<imfl3pFios7U1@mid.individual.net>
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.


> 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.


> 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

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.

> 
> 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.


> Any suggestion is welcome

Switch to a proper OS and a better database

-- 

  //Aho

[toc] | [next] | [standalone]


#2098

FromErland Sommarskog <esquel@sommarskog.se>
Date2021-07-30 10:24 +0200
Message-ID<XnsAD7769DEE4408Yazorman@127.0.0.1>
In reply to#2097
J.O. Aho (user@example.net) writes:
> 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.
> 
> 
>> 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

In *your* PATH variable. SQL Server runs under a service account, so 
it does not have your PATH.

>> 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
 
So when you run that command line directly, what happens? Specifically, 
does it open a UI?

SQL Server runs as a service and does not have a desktop, so running 
anything which has a UI is not going to work out.

[toc] | [prev] | [next] | [standalone]


#2099

FromAmmammata <ammammata@tiscalinet.it>
Date2021-07-30 08:42 +0000
Message-ID<XnsAD776CE5CD728ammammatatiscalineti@127.0.0.1>
In reply to#2098
Il giorno Fri 30 Jul 2021 10:24:27a, *Erland Sommarskog* ha inviato su 
comp.databases.ms-access il messaggio 
news:XnsAD7769DEE4408Yazorman@127.0.0.1. Vediamo cosa ha scritto:

Hello Erland

> So when you run that command line directly, what happens? Specifically, 
> does it open a UI?
> 

yes: access loads the procedure and shows the record as per the ID I passed 
in the command line

> SQL Server runs as a service and does not have a desktop, so running 
> anything which has a UI is not going to work out.
> 
> 

Ok, I take a note. As I can run this command from a proper menu in SAP B1, 
unfortunately I can't pass a parameter as I would, I thought the same 
result could be achieved also from a SQL statement

https://i.imgur.com/bKICPOv.png

Our support just sent a mail saying we have to develop an Add-On, so now we 
wait for a quote (time & bucks)

Bye

-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........

[toc] | [prev] | [standalone]


Back to top | Article view | comp.databases.ms-sqlserver


csiph-web