2014-04-15 3 views
0

내가(선택 간단한) 저장 프로 시저를 내보낼 SQL 서버 2008 BCP 유틸리티를 사용하여

2008 년 내가 GET_GL_ACCOUNTS 여기

이다라는 아주 간단한 저장 프로 시저를 만든 SQL Server에서 BCP 유틸리티를 실행하려고 저장 프로 시저 :

EXEC xp_cmdshell 'bcp 'EXEC NCOA.dbo.GET_GL_ACCOUNTS' QUERYOUT "E:\dbexport\gl.txt" -c -t, -T -S' 
: 여기

ALTER PROCEDURE [dbo].[GET_GL_ACCOUNTS] 
AS 
    SELECT DISTINCT 
     RTRIM (s1.SGMNTID) AS 'AccCode', 
     RTRIM (s1.DSCRIPTN) AS 'CodeDesc', 
     CASE 
      WHEN s1.SGMTNUMB = '1' THEN '1' 
      WHEN s1.SGMTNUMB = '2' THEN '2' 
      WHEN s1.SGMTNUMB = '3' THEN '110' 
      WHEN s1.SGMTNUMB = '4' THEN '4' 
      WHEN s1.SGMTNUMB = '5' THEN '120' 
     END AS 'AccountType_id', 
     CASE 
      WHEN s1.SGMTNUMB = '2' THEN LEFT(s1.SGMNTID, 2) 
      ELSE 'DEFAULT' 
     END AS 'AccGroupName' 
    FROM 
     GL40200 s1 

    UNION 

    SELECT 
     REPLACE ([ACTNUMBR_1]+'-'+ [ACTNUMBR_2]+'-'+ [ACTNUMBR_3]+'-'+[ACTNUMBR_4]+'-'+ [ACTNUMBR_5],' ', '') AS 'AccCode', 
     '' AS 'CodeDesc', 
     '0' AS 'AccountType_id', 
     'Default' AS 'AccGroupName' 
    FROM 
     GL00100 a 

BCP 명령입니다 나는 다음과 같은 오류 메시지가 무엇입니까 SQL Server Management Studio를 통해 실행

:

8146 메시지, 수준 16, 상태 1, 프로 시저 GET_GL_ACCOUNTS, 줄 0
절차 GET_GL_ACCOUNTS는 매개 변수 및 인수했다가 없습니다 제공됩니다.

실행하려면 매개 변수와 인수가 필요합니까?

답변

1

귀하의 문제는 성명이 어떻게 인용되는지입니다. 대신 다음을 시도하십시오.

EXEC xp_cmdshell 'bcp "EXEC NCOA.dbo.GET_GL_ACCOUNTS" QUERYOUT "E:\dbexport\gl.txt" -c -t, -T -S' 
+0

이 출력을 생성하는 중입니다. ---------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------- SQLState = S1000, NativeError = 0 오류 = [Microsoft] [SQL Server Native Client 10.0] BCP 호스트 데이터 파일을 열 수 없습니다. NULL (영향을받는 행) – user130045

+0

@ShawnRahmani 'E : \ dbexport \ gl.txt' 경로는 코드를 실행중인 서버 (가공중인 SQL 서버)에서 유효합니까? 오류 메시지는 그렇지 않을 수도 있음을 나타냅니다. – jpw

+1

이로 인해 폴더 권한 문제가 발생했습니다. eport를 내 백업 폴더로 옮기면 작동합니다. 고맙습니다. @jpw – user130045