
・環境
WindowsXP Pro
SQL Server2005
はじめまして。
Transact-SQLのBULK INSERTで、エラー(ファイルが存在しない等)が発生した場合に、専用の処理を行いたいと思っています。
※BULK INSERTでエラーが発生したら、リターンコード100を返す等の処理を行いたいと思ってます
私の方で試したのは、BULK INSERTをBEGIN TRYでネストしエラーキャッチを行おうと思いましたがキャッチできず困っております。
以下、質問させてください。
・BULK INSERTのエラーはエラーキャッチできないのか?できる場合その方法は?
・エラーキャッチできない場合、他の方法でBULK INSERTエラー時の処理を行う方法はあるのか?
お手数ですが、よろしくお願いします。
No.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
参考URL:http://technet.microsoft.com/ja-jp/library/ms175 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
BULK INSERTのエラー取得は可能なのでしょうか?
SQL Server
-
BULK INSERT時のNull許容について
SQL Server
-
CSVファイルをBULK INSERTでSQLserverに読み込むことは可能?
その他(データベース)
-
-
4
ファイルの存在チェック
SQL Server
-
5
テーブル列数とデータファイル列数の違うbcpインサートをしたい
SQL Server
-
6
BULKINSERTのWITHオプションについて
SQL Server
-
7
バッチファイルからのBCP起動について
SQL Server
-
8
SQLSever 一括インポートについて
その他(パソコン・スマホ・電化製品)
-
9
BULK INSERTについて
SQL Server
-
10
SQLのエラー(~付近に不適切な構文があります)
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラーについて
-
アクセスでエラー このフィー...
-
#1062 - '0' は索引 'PRIMARY' ...
-
SQLserver2005 nvarchar を flo...
-
PL/SQL ORA-06502エラーに関し...
-
AccessからORACLEへのリンク設...
-
空白はダメというエラーの表示...
-
SQL文長の制限
-
Access2007のVBAにてSendObject...
-
【Excel】[Expression.Error] ...
-
Batch: フォルダ内の特定のファ...
-
selectした結果の余計な余白を...
-
SQLPLUSで結果を画面に表示しない
-
アクセスクエリ(複数)→マクロ...
-
【CSVファイル】先頭の文字列に...
-
ThunderbirdのメールをCSVでま...
-
100万行のCSVを10万行ずつのフ...
-
特定のエクセルファイルを起動...
-
相手のPCにVBAからメッセ...
-
accessのmdbが勝手にできている?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オラクル(PL/SQL)のエラー
-
アクセスでエラー このフィー...
-
SQLserver2005 nvarchar を flo...
-
AccessVBA 実行時エラー'2766'...
-
#1062 - '0' は索引 'PRIMARY' ...
-
DocuWorksでの印刷
-
列名に変数を使うことはできな...
-
Access2010実行時エラー-21473525
-
空白はダメというエラーの表示...
-
SQL*Loaderで「オブジェクトが...
-
Transact-SQLのBULK INSERTでエ...
-
UPDATEを使ったSQL文にて
-
MySQLでcreateが使えない MySQL...
-
エラーについて
-
PL/SQL ORA-06502エラーに関し...
-
オラクルでisnumeric?
-
Access 実行時エラー'3075' 対...
-
SQLCODE=-420とはどういうエラ...
-
ACCESSでエラー時に再起動する方法
-
BULK INSERTのエラー取得は可能...
おすすめ情報