>

저장 프로 시저를 호출하려고합니다 :

sqlcmd -d jas_bis -Q "exec GenerateXmlCassettem"

및 실행 코드 :

CREATE PROCEDURE GenerateXmlCassettem
AS
    DECLARE @fileName VARCHAR(50)
    DECLARE @sqlStr VARCHAR(1000)
    DECLARE @sqlCmd VARCHAR(1000)
    SET @fileName = 'C:\JAS\xml\CassetteList.xml'
    SET @sqlStr = 'select DevId as IdAutomate, id as idCassette, MedicineCode 
                   from jas_bis.dbo.Cassette 
                   where MedicineCode is not null for xml path'
SET @sqlCmd = 'bcp "' + @sqlStr + '" queryout ' + @fileName + ' -w -T'
EXEC xp_cmdshell @sqlCmd

여기에서 db 테이블을 찾을 수 있습니다. 저장 프로 시저를 실행하는 데 사용하는 카세트 :

SELECT TOP (1000)
    [DevID], [Id],
    [Drawer], [Row], [Column],
    [Side], [DropDelay],
    [MedicineCode], [Priority],
    [RemainQty], [Unit],
    [Type], [MinQty], [ExpDT], [UseExpDT],
    [LotNO], [Barcode]
FROM 
    [jas_bis].[dbo].[Cassette]

그러나 오류가 발생합니다 :

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'D:'.

  • 답변 # 1

    bcp 호출에 쿼리를 인용하지 않았습니다. 따라서 통화 결과는

    bcp select DevId as IdAutomate, id as idCassette,MedicineCode 
    from jas_bis.dbo.Cassette where MedicineCode is not null for xml path queryout C:\JAS\xml\CassetteList.xml -w -T
    
    

    이것은

    bcp "select DevId as IdAutomate, id as idCassette,MedicineCode 
    from jas_bis.dbo.Cassette where MedicineCode is not null for xml path" queryout C:\JAS\xml\CassetteList.xml -w -T
    
    

    파일 이름을 인용하는 것도 좋습니다

  • 이전 ansible을 사용하여 경로 목록을 제공하도록 json 쿼리 출력 형식을 지정하십시오
  • 다음 r - dplyr을 사용하여 각 그룹에 대해 동일한 수의 보간 점을 사용하여 데이터 프레임에서 그룹화 된 데이터를 확장하고 보간하는 방법은 무엇입니까?