"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > t-sql에서 벌크 인서트에 대한 변수를 올바르게 캐스팅하는 방법은 무엇입니까?

t-sql에서 벌크 인서트에 대한 변수를 올바르게 캐스팅하는 방법은 무엇입니까?

2025-03-25에 게시되었습니다
검색:912

How to Correctly Cast Variables for Bulk Inserts in T-SQL?

문제 : . [tstagingTable] - n't : \ x.csv '에서-이 줄은 작동합니다 @csvfile에서 -이 줄은 실패합니다 와 함께 ( Fieldterminator = ',', rowterminator = '\ n', Firstrow = 2 )

오류 메시지 :

키워드 근처의 잘못된 구문 '. 변수를 사용할 때는 리터럴 스트링으로 캐스트해야합니다.

솔루션 :

DECLARE @CSVfile nvarchar(255);
SET @CSVfile = N'T:\x.csv';
BULK INSERT [dbo].[TStagingTable]
-- FROM N'T:\x.csv' -- This line works
FROM @CSVfile -- This line fails
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRSTROW = 2
)

Incorrect syntax near the keyword 'with'.

deplare @q nvarchar (max); @q =를 설정하십시오 '벌크 삽입 [tstagingTable] 'char (39) @csvfile char (39)'에서 와 함께 ( Fieldterminator = '', '', rowterminator = ''\ n '', Firstrow = 1 ) ')' ' exec (@q) 이 코드는 @csvfile을 From Clause 내에서 문자 그대로 문자열로 시전하여 문제를 해결하고 벌크 인서트가 성공할 수 있도록하는 동적 SQL 문을 생성합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3