Solved

OSQL with stored procedure output parameter

Posted on 2003-11-04
7
2,719 Views
Last Modified: 2012-06-21
Hi,

I tried to use osql to execute stored procedure with some input parameters and one output parameter, how I can do this.

thanks
0
Comment
Question by:changeexpert
  • 3
  • 2
7 Comments
 
LVL 50

Expert Comment

by:Lowfatspread
ID: 9680197
post what your doing...

but

osql -SserverName -ddatabasename -E -iinputfile.sql -ooutputfile.sql

and
inputfile.sql
would look something like
/*
 run the xxx proc
*/
Declare @Outparm Varchar(8000)
Declare @RC Int

Exec @RC = ServerName.DabataseName.Owner.StoreprocedureName  'INPUT1','INPUT2',@Output Output

Print @Outparm

/* return sp execution status to DOS */
EXIT (Select @RC)



...

if not using a trusted connection then replace the -E with -Uuserid -Ppassword

 

0
 

Author Comment

by:changeexpert
ID: 9680537
Hi

Tried to run this and "stp_s_StoredProc" will accept 2 input parameters and 1 output parameter, the I will use the output parameter value as variable for another query.  This line is included in another stored proc.  Can I do this way instead of using inputfile/outputfile?

exec master..xp_cmdshell 'osql /U "SA" /P "ABC" /S "ServerName" /Q "stp_s_StoredProc"

Thanks
0
 
LVL 50

Expert Comment

by:Lowfatspread
ID: 9680647
yes you can specify the query to be executed via the Q (Query parameter instead)
but you not going to get the output variable that way....

what are you actually trying to do...

why do you need to run this in batch...

you maybe better off constructing a wrapper stored procedure to call the ones you want to invoke...


0
 

Author Comment

by:changeexpert
ID: 9680995
Hi,

I have stored proc that sit on SQL Server A and on SQL Server B will schedule a job to execute stored proc B on SQL B and inside this stored proc will execute stored proc A on SQL A and use the output parameter value in stored proc B.

I know I can use linked server to do execute stored proc A remotely.  However, people do not like the idea of "Linked" two servers for security reason.

Thanks
0
 
LVL 50

Accepted Solution

by:
Lowfatspread earned 30 total points
ID: 9681227
but you've got a big(ger) security hole here anyway surely by having procedure with
SA user id and passwords included within them.....

wouldn't you be better scheduling the stored procedure on Server A
and then getting it to pass its output to server B ....

perhaps even doing the data transfer via replication...


or have b regularly read (for the file A produces)  
and process it that way via some temporary tables....


what is the data?
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

When you hear the word proxy, you may become apprehensive. This article will help you to understand Proxy and when it is useful. Let's talk Proxy for SQL Server. (Not in terms of Internet access.) Typically, you'll run into this type of problem w…
The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
Via a live example, show how to shrink a transaction log file down to a reasonable size.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now