
・環境
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
テーブル列数とデータファイル列数の違うbcpインサートをしたい
SQL Server
-
5
ファイルの存在チェック
SQL Server
-
6
バッチファイルからのBCP起動について
SQL Server
-
7
SQLSever 一括インポートについて
その他(パソコン・スマホ・電化製品)
-
8
BULK INSERTについて
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
アクセスでエラー このフィー...
-
SQLCODE=-420とはどういうエラ...
-
ACCESSでのINSERTについて
-
SQLserver2005 nvarchar を flo...
-
SQL*Loaderで「オブジェクトが...
-
UPDATEを使ったSQL文にて
-
列名に変数を使うことはできな...
-
(素人の質問) SQL Server エ...
-
SQLサーバー2012 アンインスト...
-
Access2003 レコードがすべて...
-
「1004:アプリケーション定義...
-
オラクル(PL/SQL)のエラー
-
ODBCデータソースが削除できま...
-
EXP時のSELECT句
-
実行時エラー459 withステート...
-
Transact-SQLのBULK INSERTでエ...
-
【Excel】[Expression.Error] ...
-
SQLPLUSで結果を画面に表示しない
-
「○○○.ldb」のAccess レコード ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
オラクル(PL/SQL)のエラー
-
アクセスでエラー このフィー...
-
列名に変数を使うことはできな...
-
DocuWorksでの印刷
-
Transact-SQLのBULK INSERTでエ...
-
BULK INSERTのエラー取得は可能...
-
『ORA-00936: 式がありません。...
-
AccessVBA 実行時エラー'2766'...
-
空白はダメというエラーの表示...
-
Access2010実行時エラー-21473525
-
エラーについて
-
SQLserver2005 nvarchar を flo...
-
UPDATEを使ったSQL文にて
-
重複チェックを行わず、INSERT...
-
実行時エラー459 withステート...
-
コンテキストにバインド???
-
VBAで RecordSet を扱うには?
-
Access 実行時エラー'3075' 対...
-
AccessからORACLEへのリンク設...
おすすめ情報