- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Transact-SQLのBULK INSERTでエラーをキャッチしたい)
Transact-SQLのBULK INSERTでエラーをキャッチしたい
このQ&Aのポイント
- Transact-SQLのBULK INSERTでエラーを発生させた場合の処理方法について教えてください
- BULK INSERTのエラーキャッチ方法やエラー処理の代替方法について教えてください
- Transact-SQLのBULK INSERTのエラー処理に関して質問があります
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ファイルの読み込み時エラーであれば捕捉できるはずですが、ファイル不存在などの場合は、リンクページの「ステートメントレベルの再コンパイルで発生するエラー (コンパイル後の名前の遅延解決により発生するオブジェクト名の解決エラーなど)」に相当するため、捕捉できないのだと思います。 したがって、以下のように動的クエリにすればよいです。 なぜこれだとOKなのかも、リンクページに書いてあります。 DECLARE @sql varchar(max) BEGIN TRY SET @sql='BULK INSERT TABLE1 FROM ''C:\AAAAA.txt'' WITH (ROWTERMINATOR=''\n'')' EXEC (@sql) END TRY BEGIN CATCH SELECT ERROR_NUMBER(),ERROR_MESSAGE() END CATCH
お礼
早速なご回答ありがとうございます。 上記、ソースで試したところ無事にエラーキャッチする事ができました。