khorsandreza
شنبه 23 شهریور 1392, 09:36 صبح
سلام
من یک SP نوشتم که وجود یک پوشه در سرور بررسی می کنه در صورت عدم وجود مقدار 0 و در صورت وجود پوشه مقدار 1 را برمی گردانه ولی وقتی در sp دیگر استفاده می کنم خطا میده
ALTER PROCEDURE [dbo].[ChkDirExist]
(
@Param1 nvarchar(50)output
)
AS
BEGIN
DECLARE @FullDirectoryPathStatement VARCHAR(255)
SET @FullDirectoryPathStatement = 'DIR "'+@Param1+'" /B'
CREATE TABLE #DirectoryExists (IsValid VARCHAR(MAX))
INSERT INTO #DirectoryExists
EXEC xp_cmdshell @FullDirectoryPathStatement
DECLARE @Exists SMALLINT = 0
SELECT @Exists =
(SELECT COUNT(IsValid) FROM #DirectoryExists
WHERE IsValid <> 'File Not Found' AND IsValid IS NOT NULL)
DROP TABLE #DirectoryExists
return @Exists
END
--exec ChkDirExist 'E:\kanoon\kanon1392.gdb'
و روش فراخوانی در SP دوم
declare @Sql nvarchar(max)
EXECUTE ChkDirExist @MakDir OUTPUT, @xChk OUTPUT
منتها خطای زیر را میده
Msg 8144, Level 16, State 2, Procedure ChkDirExist, Line 0
Procedure or function ChkDirExist has too many arguments specified.
من یک SP نوشتم که وجود یک پوشه در سرور بررسی می کنه در صورت عدم وجود مقدار 0 و در صورت وجود پوشه مقدار 1 را برمی گردانه ولی وقتی در sp دیگر استفاده می کنم خطا میده
ALTER PROCEDURE [dbo].[ChkDirExist]
(
@Param1 nvarchar(50)output
)
AS
BEGIN
DECLARE @FullDirectoryPathStatement VARCHAR(255)
SET @FullDirectoryPathStatement = 'DIR "'+@Param1+'" /B'
CREATE TABLE #DirectoryExists (IsValid VARCHAR(MAX))
INSERT INTO #DirectoryExists
EXEC xp_cmdshell @FullDirectoryPathStatement
DECLARE @Exists SMALLINT = 0
SELECT @Exists =
(SELECT COUNT(IsValid) FROM #DirectoryExists
WHERE IsValid <> 'File Not Found' AND IsValid IS NOT NULL)
DROP TABLE #DirectoryExists
return @Exists
END
--exec ChkDirExist 'E:\kanoon\kanon1392.gdb'
و روش فراخوانی در SP دوم
declare @Sql nvarchar(max)
EXECUTE ChkDirExist @MakDir OUTPUT, @xChk OUTPUT
منتها خطای زیر را میده
Msg 8144, Level 16, State 2, Procedure ChkDirExist, Line 0
Procedure or function ChkDirExist has too many arguments specified.