- Product: Voyager
- Relevant for Installation Type: Multi-Tenant Direct, Dedicated-Direct, Local, TotalCare
Are there alternatives to using the BLOB functions in Voyager Prepackaged Access Reports?
The BLOB functions in Voyager allow you to retrieve any field or subfield from a MARC record. They are very powerful and very useful. But, depending on the size of your database, a query using the BLOB functions may run for hours1, and this may not be ideal.
The following are some alternatives to BLOB queries. If you can use them, you will get faster results from your queries, even if you have a small database.
- Check the BIB_TEXT table for the field that you want to use. It contains many nicely formatted, often used bib fields. To do this, see the Data Dictionary, and the Additional Information section below.
- To get fixed field data from bibliographic records, consider using the MARC*_VW tables. There's a different table for each of the MARC bib formats (for example: use MARCBOOK_VW for monographs with types a, h, and t).
- To get URLs in 856, 505, etc. MARC fields for MFHDs, bibliographic records, and electronic reserve items use the ELINK_INDEX table.
- If you are trying to find records with a specific MARC field use Global Data Change and Scan Rules to scan the database for a specific field.
- If the data you want can be searched using a left-anchored index, consider using the BIB_INDEX table. This is the table that Voyager uses for left anchored searches and limits. To use BIB_INDEX you need to know what value of INDEX_CODE to use (e.g., 008D, 100H, 2451, etc.). You can look the codes up in the SEARCHPARM table.
MARC Fields from the BIB_TEXT table (note that for any repeatable field listed, the BIB_TEXT table contains only the first instance of that field):
|RECORD_STATUS||Leader bytes 5||CODEN||030 a|
|BIB_FORMAT||Leader bytes 6-7||NETWORK_NUMBER||035 a|
|ENCODING_LEVEL||Leader bytes 17||STOCK_NUMBER||037 a|
|DESCRIP_FORM||Leader bytes 18||GPONUM||074 a|
111 acdegkn (but not 130)
|DATE_TYPE_STATUS||008 byte 6|
|BEGIN_PUB_DATE||008 bytes 7-10||TITLE||245 abcfghknps|
|END_PUB_DATE||008 bytes 11-14||TITLE_BRIEF||245 ab|
|PUB_DATES_COMBINED||008 bytes 7-10 “-“ 008 bytes 11-14||UNIFORM_TITLE||130 adfgklmnoprs
|PLACE_CODE||008 bytes 15-17|
|MAP_PROJECTION||008 bytes 22-23||EDITION||250 all subfields|
|LANGUAGE||008 bytes 35-37||SERIES||440 anpv
|LCCN||010 abz8||IMPRINT||260 abc
|ISSN||022 a||PUB_PLACE||260 a
|OTHER_STD_NUM||024 a||PUBLISHER||260 b
|STDTECH||027 a||PUBLISHER_DATE||260 c
|PUBLISHER_NUMBER||028 all subfields||MAP_MATH_DATA||255 abc|
1BLOB queries are a specific type of query that accesses special MS Access MARC functions provided by Ex Libris. The Blob is the full raw MARC record in one long string. These queries can be VERY SLOW. When you do a blob query, your PC sends the query to the Voyager database server. The server does *some* of the processing, but also sends entire MARC records back to your PC to be parsed on your PC by the local MS Access VB blob functions. Each nested function will have to run for every record.
For non-BLOB queries, your PC sends the query to the Voyager database server, the server processes the query and sends the results back to your PC. For the most part, all the processing is done on the server and the only data transferred across the network are the query and the results. Any slowness is typically attributable to network-related (LAN versus WAN) issues.
Constructing custom SQL queries by request and troubleshooting unexpected results from customer-created SQL queries falls outside the scope of Support. The above has been posted for informational purposes. Voyager-L and Developer Network are useful resources for finding helpful custom SQL or obtaining assistance from peers in troubleshooting custom queries.
- Article last edited: 28-May-2020