|
Posted by Hugo Kornelis on 10/11/65 11:37
On Mon, 16 Jan 2006 18:44:19 -0600, <dphillip79@comcast.net> wrote:
(snip)
> In UNIX, I can simply execute the following from either the command line
>or in
>a script.
>
>isql -S<DATASERVER> -U<USER> <<-EOF
>
>sp_who
>go
>select * from .....
>go
>EOF --EOF is the isql session terminator exits me back to the command line.
>
> This behavior does not appear to work with OSQL.
Hi,
It's not OSQL, it's Windows/DOS that is causing the difference. In UNIX,
utilities take their input from STDIN, which is either the next line in
the script (if run from a script) or the next line entered on the
console (if run from a console).
The same thing happens if you create a script (testme.bat) with the
following content:
copy con test.txt
This won't work
Execute it. The copy con command is started and the console will wait
for your input. Type one or more lines, then type Ctrl-Z (the EOF
marker). You'll next see an error because "Thins won't work" is not a
valid DOS command.
An equivalent script in Unix would enter "This won't work" in the file
test.txt.
> Any help you could offer would be appreciated.
I think that you'll have to settle for either a bunch of commonly used
SQL script files, or for dynamically building the SQL script using a
bunch of redirected echo statements.
--
Hugo Kornelis, SQL Server MVP
Navigation:
[Reply to this message]
|