Solved

Getting NULL Output when passing text file to a console application as an Arg

Posted on 2009-04-06
5
152 Views
Last Modified: 2012-05-06
I'm passing a text file name into a variable in a SP that will then forward that name and append it to a console application for processing. As far as I can see the code looks right but, I get a NULL Output when I EXEC the SP. My console application is in .NET Visual C#. Do I need to add an @ symbol or will the path info be parsed correctly?
Thanks for your help Experts.
Wally
USE [DMS]
GO
/****** Object:  StoredProcedure [dbo].[RunPingUtil]    Script Date: 04/06/2009 08:30:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER Procedure [dbo].[RunPingUtil]
AS
BEGIN
	SET NOCOUNT ON;
 
DECLARE @Workstations varchar(max)
SET @Workstations = '\\Crprchblgsrd\d$\ProofOfConcept\data.txt'
 
DECLARE @CommandLine sysname;
SET @CommandLine = '\\Crprchblgsrd\d$\ProofOfConcept\ProofOfConcept.exe ' + @Workstations + '';
 
EXEC xp_cmdshell @CommandLine;
 
END

Open in new window

0
Comment
Question by:wally_davis
  • 3
  • 2
5 Comments
 
LVL 15

Expert Comment

by:spprivate
ID: 24079990
Well,not sure if I understood.There is no output parameter in your procedure without which you will not get an out put.I have added an output parameter and I am getting back the string
Alter Procedure [dbo].[RunPingUtil]
@myoutput varchar(4000)  output
AS
BEGIN
	SET NOCOUNT ON;
 
DECLARE @Workstations varchar(4000)
 
SET @Workstations = '\\Crprchblgsrd\d$\ProofOfConcept\data.txt'
 
DECLARE @CommandLine sysname;
SET @CommandLine = '\\Crprchblgsrd\d$\ProofOfConcept\ProofOfConcept.exe ' + @Workstations + '';
 
 --EXEC xp_cmdshell @CommandLine;
 select @myoutput=@CommandLine
END

Open in new window

0
 

Author Comment

by:wally_davis
ID: 24080298
ok, well, by verification of the output, -->
\\Crprchmsqdve\d$\ProofOfConcept\ProofOfConcept.exe data.txt
I would have thought the ProofOfConcept would have processed the data inside the txt file but it in fact has not when I want to check table on the database. I made sure that the data I entered into the text file had \r\n Escape sequences replaced in such a way that the workstation names were processed correctly. So, I still can't understand why, if the SP passes the filename to the executable correctly it should work. Any ideas why it isn't being processed?
0
 
LVL 15

Expert Comment

by:spprivate
ID: 24082199
I assume you want to pass some information to the executable via command line.But what are you trying to achieve.First of all you are trying to execute a exe in a shared path which will lead to lot of security issues.
What exactly are you trying to do?
0
 

Accepted Solution

by:
wally_davis earned 0 total points
ID: 24082651
I had to copy the files (Exe and data.txt files) over locally to SQL Box, changed UNC to local D:\ in the SP and it work perfect.
0
 
LVL 15

Expert Comment

by:spprivate
ID: 24082948
Thats exactly I am saying,Unless you map the path you might not be able to execute the exe with UNC it will not work.So I thought I should get points for this.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I am showing a way to read/import the excel data in table using SQL server 2005... Suppose there is an Excel file "Book1" at location "C:\temp" with column "First Name" and "Last Name". Now to import this Excel data into the table, we will use…
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

772 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