2013/03/24

Office 365 Access アプリ -12- データマクロ トレース

データ マクロのデバッグとかにトレースを見る。詳細までは見れないけれど。

データ マクロ実行の経過や結果をトレースで確認することができる。


  "データ マクロのトレース/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 件のコメント: