-
Notifications
You must be signed in to change notification settings - Fork 2
3. Debugging
Bas van den Berg edited this page Dec 3, 2018
·
7 revisions
exec betl.dbo.push 'MyDB.MySchema.MyTable'
This will start the data transfer from MyDB.MySchema.MyTable into TargetDB.TargetSchema.TargetTable TargetDb.TargetSchema is determined by the target schema id property. TargetTable is detemined by the @transfermethodid which is an optional parameter of push.
exec betl.dbo.setp 'exec_sql', 0
-- instead of executing the dynamic sql, betl will print it, so you can execute and debug it yourself.
exec betl.dbo.setp 'log_level', 'DEBUG'
-- controls the amount of logging that is generated by betl.
-- ERROR: only display errors, no progress or warnings
-- WARN: Show Errors and warnings
-- INFO : show progress in current proc. ( Log headers and footers)
-- DEBUG: : show progress in current proc and invoked procs. (nesting+1)
-- VERBOSE:: show progress in current proc and invoked procs. (all nestings)
exec betl.dbo.setp 'recreate_tables', 1, 'MyDB.MySchema' -- handy during development
-- will drop and recreate target tables in MyDB.MySchema. This is particularly usefull when developing. When you for
example add columns to a source view, the target hub and sats are automatically dropped and recreated when you invoke
a push.
exec betl.dbo.info 'MyDB.MySchema.MyTable'
-- shows the BETL meta data for a specific object.
exec betl.dbo.my_info
-- shows property values for properties that are bound to the current user (e.g. loglevel and execsql) .
Sometimes when an error occurs, the nesting gets messed up. You can recognize this by the identation of the logging. Note that this will also result in incomplete logging. Since nesting level is relevant for determining what gets logged. To reset the nesting and other user bound variables issue the following command:
exec betl.dbo.reset
More examples:
exec betl.dbo.reset
exec betl.dbo.setp 'log_level', 'verbose'
exec betl.dbo.my_info