COSUGI 2017: Horizon Lightning Talks

Lightning talks specifically on Horizon. Let’s learn some stuff!

Using the Horizon Debugger

  • client comes with built-in debugger that records all database transactions
  • log can provide relevant table and column names, if task can be done with SQL, help troubleshoot performance issues
  • invoke debugger with Ctrl+Alt+Shift+D


  • DbCommand: make sure this box is checked so that all SQL statements are logged
  • DbResult: TMI! unless you need, this box should be unchecked
  • DbComment: doesn’t seem to do anything
  • DbTime: timestamps each line and also provides elapse time for each operation
  • Output Options: file path, uncheck append


  1. Navigate to the point right before yo uperform operation want to capture
  2. Start debugger
  3. Perform
  4. Stop debugger
  5. Review log file

Further notes
* Log file has all the information of the changes that are done including all the SQL statements.
* Can also do logs in command line tools. In Windows

set dbdebug=on
set hzoutput=C:\hz75\Horizon.dmp
set dbdebug=time 

KB Article

Not available in hosted version of Horizon? Unsure. Conflicting reports.

Monitoring Horizon Processes and Online Catalogs

Michael Engelbrecht; Charlotte Mecklenburg Library

  • Are my servers up? Solarwins: monitors network and servers; sends emails alerts for network interfaces, hard drive space, memory usage, CPU load, application monitoring: HIP services: HzApp, HzSearch, HzXSL
  • Is my catalogue up? monitor uptime via,,; receive email/SMS notices of outages as well as stats on responsiveness
  • Are my scheduled tasks working? TeleMessaging3 has summary report, Unique Management Services batch file to FTPs and that notices completed, WebReport queries via NarrowCast
  • Day End: add an email to Day End as the final process: create file like DeEmail.cmd and put it inot Horizon folder; need IP address of email server that allow email from Day End PC (see slide for script)
  • email notice for every Horizon transaction backup

Customizing View Sets

Lynn Bertino; Wake County Public Libraries

  • 2 flavours: edit existing mq_view, or make own mq_view
  • can extensively edit views
  • good practice to copy view, give new name, make changes in new view
  • create new view_set: enter standard view, and name of alternate view
  • create own view: limit who can edit, great for limiting access to codes
  • to get started: run sp_help table : will list column names, create SQL view, new mq_view (usually by copying existing view), add new view to view_set table, add new view set to user account (if necessary)

Horizon Customizing MQ-Views Training Guide
COSUGI 2013 – It’s All Views Now-A-Days: MQ Views in Horizon – Jeremy Newville

Creating Custom MQ Views

  • MQ views are based off tables and SQL views of Horizion; Horizion presentation of information
  • forms: list or edit view
  • figure out which view: window name/title; File > Where Clause… will tell you in the clause table’s name
  • views are stored in mq_view table
  • can select and copy view
  • View settings: view types: general = visible in table editor, multipurpose; Program-Only: safest to copy these instead of editing and toggle to General
  • Properties: same as the permissions in SQL
  • Secured: can tie to a Passkey to allow an exception to normally invisible areas
  • List View: add all fields that are available, if Displayed checked, automatically listed, otherwise can be added via Display button
  • Edit View: Default Value: will prefill with creatio nof new line e.g. prefill location code; Edit properties: Editable: viewable only if not editable, batch change: available in batch change
  • Bonus: search filter queries: attach to a table/view to limit results. Created in Search_filter_query table of Table Editor. write a direct SQL query (255 character limit), or create SQL view

Creating a Custom Day End Job

Phil Feilmayer

  • DE Jobs delivered with Horizon are Windows exe files
  • when DE runs, Horizon calls exe acoording to settings in menu_options table
  • current set of DE Jobs: menu table, search for Menu: MDayEnd
  • undocumented rules: Horizon DE will ONLY recognize exe or bat files
  • DE files must be located in the same folder as the Horizon client
  • DE always adds /V argument (tells the app what day it is)
  • DE jobs tracked in de_activity table
  • Custom DE Job Example:
    • Problem: DE must start before midnight, adds the ?V argument to all programs based on day. DE processes Overdue material is given “wrong day” and no Overdue blocks are created.
    • Fix: SD recommends running DEOverDu.exe next morning outside of DE
    • Alt: create custom DE (editor’s comment: anothe alternative is as scheduled task)
    • Update menu option and replace program name

Lunch Time!

Time to catch some lunch.
stoat with catch

Author: Cynthia

Technologist, Librarian, Metadata and Technical Services expert, Educator, Mentor, Web Developer, UXer, Accessibility Advocate, Documentarian

Leave a Comment

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: