データ マクロ実行の経過や結果をトレースで確認することができる。
"データ マクロのトレース/Data Macro Tracing"がOnになっていると、データ マクロ実行時の経過が記録されていく。変換されたストアド プロシージャにロジックが組み込まれているのでこれ以上の操作をすることはない。"トレース テーブルの表示/View Trace Table"押下でテーブルが表示される。ただし、ブラウザで。
軽い内容であればこれで充分なのだけど、ログが多くなったりデータマクロを動作させるためのUIを用意したりと以外に面倒な時がある。
そこで、SSMSを使ってみる。トランザクションに注意するところがあるけれども気を付けていればトラブルはない。データ マクロのデザインはAccessからしか行えないけれども、SSMSでデータ マクロを単独で動作させることができる。
DECLARE @_NOW datetime = GetDate()
DECLARE @_Line nvarchar(5) = REPLICATE('-', 5)
IF AccessSystem.ApplicationPropertiesSelect('DataMacroTracing') IS NULL
BEGIN
PRINT 'TRACE OFF'
RETURN
END
EXEC AccessSystem.LogActionTrace @_Line, N'SSMS', @_Line, @_Line, @_Line, @_Line
BEGIN TRY
-- Execute Data Macro
EXEC Access.dmInsertRecord 'test2'
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage
END CATCH
-- SELECT * FROM Access.table01
SELECT * FROM Access.Trace WHERE Timestamp >= @_NOW



0 件のコメント:
コメントを投稿