System Setup

ERROR: SQL ERROR: Unmatched '' near TransactionNumber
HOWTO: Backing Up the ILLiad Database
HOWTO: Breaking the User Link in the ILLiad Database
HOWTO: Changing the Port for Microsoft SQL Server 2000
HOWTO: Changing the size of a field in the ILLData database
HOWTO: Enabling Logging on the ILLiad Gateway
HOWTO: Enabling Logging on the ILLiad Web DLL
HOWTO: Implementing SSL with ILLiad
HOWTO: Importing a Customized List of Addresses to ILLiad
HOWTO: Importing Pre-ILLiad Copyright Information into your ILLiad Database
HOWTO: Increasing the Username field in the ILLiad database
HOWTO: Migrating an ILLiad Database to a New ILLiad Server
HOWTO: Updating Across a Multiple Server ILLiad Installation
INFO: ILLiad and McAfee VirusScan 8
INFO: ILLiad and the NVTGC Field
INFO: User Request Limits
INFO: What Ports are Required to be Open for General ILLiad Use?
INFO: Z39.50 Compatibility in ILLiad
INFO: Z39.50 Profiles in ILLiad
OCLC ILLiad and Windows Server 2003
PROBLEM: Cancellations or OCLC Reasons for No are all updating as Other
PROBLEM: Class Not Registered error when trying to initiate Z39.50 Searching
PROBLEM: EDBEngine Error: Vendor Initialization Failed
PROBLEM: Error Message "Login failed. Reason: Not associated with a Trusted SQL Server connection"
PROBLEM: Fixing permissions problems on the ILLiad server
PROBLEM: I/O Error 32 or Path not Found when opening the Borrowing Request Form
PROBLEM: Incorrect Queues and E-mail Routing Entries in the ILLiad Client for a Shared Server Site
PROBLEM: SQL Server Agent fails when executing job to run ILLiad Connector
PROBLEM: Z39.50 Searching Form gives File Not Found error for Yaz.dll
Microsoft SQL Server 2005 Compatibility
HOWTO: Changing the Default Request Type for Manually Entered Transactions
INFO: Required ILLiad Server Permissions
HOWTO: Routing Rules Across Modules
BUG: Routing Rules for Borrowing and Doc Del do not work using the ILLiad Connector
ERROR: SQL ERROR: Unmatched '' near TransactionNumber
January 6, 2006

SYMPTOMS

When sending an email to users for automatic notification, or manually by selecting email actions from the ILLiad client menus, when the email window opens a SQL error occurs producing the following message: SQL ERROR: Unmatched " near transaction #

The resulting email is missing the patron data, or parts of it, and the email cannot be sent.

 

ERROR MESSAGES

SQL ERROR: Unmatched " near transactionnumber

 

CAUSE

When patrons register for ILLiad for the first time, they must choose a delivery location from a drop down menu. If this drop-down is changed to include an invalid Delivery Location, or if it is removed entirely, then the user record is missing this required value.

 

RESOLUTION

To correct this problem, users should verify that their users have a "delivery location" from within the client:

1. From the ILLiad Client main menu, select Edit | Customer

2. Search for and double-click the patron you wish to verify

3. On the right hand side of the User Lookup and Edit form, check the delivery location field.

Sites should contact UNS (OCLC licensees) or Atlas (Original licensees) if this problem occurs, so that the issue can be corrected at its root, the web pages, and so the existing data can be updated correctly. Users without SQL experience should contact Atlas or UNS to assist them with this, if they are unable to do so themselves or the system admin is not available.

 

MORE INFORMATION

A list of valid delivery locations is available in knowledge base article 36448.

HOWTO: Backing Up the ILLiad Database
January 4, 2006

SUMMARY

The most crucial component of the ILLiad system is the SQL database. Most other components can be replaced, but the SQL Server database contains all of the request history, users, tracking and customization settings for the ILLiad system. It is imperative to have regular and safe backup copies of the ILLData database.

MAKING A SINGLE BACKUP OF ILLDATA

You should see a "Backup in Process" message followed by a "Backup Operation has Completed Successfully" message. Once the second message is displayed, the database has been backed up. The file that was created (i.e. c:\illiad\backup\ILLData20030101.bak) is a copy of the entire ILLData database that could be used to restore on another machine. This file should be backed up to another external media such as a tape drive etc.

SCHEDULING REGULAR BACKUPS OF ILLDATA

To schedule regular backups of the ILLData database, you can follow the same directions as above only check the schedule option at the bottom of the screen and choose the ... button at the right to change it.

Once on the Edit Schedule form, give your schedule a name (Daily at 10pm, for example). Leave the Recurring radio button chosen and click the Change button at the right to edit it. You can setup whatever schedule you want, but ideally you should have one job that appends to the file and another job that overwrites that file once a week. For example, you can have the first job run daily at 10pm and append to the file (changing it to append with the radio button on the SQL Server Backup form). Then make a second job that writes to the same file and overwrites it once a week, say Wednesday at 6am. This would provide a backup file that had several database copies in it from each night (to allow you to catch a change that happened several days ago) and then overwrite it once a week to prevent the file from growing too large.

You can schedule your backup to overwrite each night as long as you are then copying that backup file to another location that would have a week's supply of backups. So if you backed that file up to tape each night after the SQL backup job ran, you would not need to append to the SQL job (using overwrite options) within SQL Server.

VIEWING/MANAGING BACKUP SCHEDULES

To view any scheduled backups you may have in SQL Server Enterprise Manager, go to Microsoft SQL Servers - SQL Server Group -YourServerName - Management - SQL Server Agent - Jobs. Any backup jobs you have will be listed under Jobs. Double-click on a job to see its properties. You can change the schedule for that job or add notifications for success and/or failures. The SQL backup job itself is a SQL script stored in Step 1 of the Steps. An example of the script is:

BACKUP DATABASE [ILLData] TO DISK = N'c:\illiad\backup\ILLDataBackup.bak' WITH INIT , NOUNLOAD , NAME = N'ILLData Backup to Hard Drive - Overwrite', NOSKIP , STATS = 10, NOFORMAT

The job above is backing up to c:\illiad\backup\ILLDataBackup.bak and overwriting that file (WITH INIT). The name of the job in SQL is "ILLData Backup to Hard Drive - Overwrite." The only difference you may see for the other jobs would be the tag for appending (WITH NOINIT) instead of overwriting (WITH INIT).

As a note, be sure that your SQL Server Agent is running or none of the scheduled backup jobs will execute. You can check that service under Services in the Control Panel .. Administrative Tools. Be sure that SQLServerAgent is set to Automatic startup and is currently running.

HOWTO: Breaking the User Link in the ILLiad Database
January 4, 2006

SUMMARY

In some cases, libraries may want to break the link in ILLiad between the user and their requests. This document explains a possible way to do this, as well as explains the consequences in ILLiad.

 

LIMITATIONS

If you break the username link in ILLiad, you will not be able to do the following items:

 

BREAKING THE LINK BETWEEN USERS AND TRANSACTIONS

To break the link in ILLiad, basically you'll replace all instances of a username with a new, "standard" username. If you want to retain the status of the person, you can make several standard usernames (like "Faculty", "Staff", "Undergraduate", etc) or you can just make a single username to change the username to (like "BrokenUsername"). Create the username using the ILLiad web pages or through the SQL Enterprise Manager.

Once you've created the usernames, you need to change several items in the database:

In order to do this, you'll have to decide which transactions you want to break the link on. Once you've decided on the selection criteria, you'll take the list of TransactionNumbers and, using a SQL script or an Access link, you'll make the changes needed from the list above.

Breaking the link in this fashion will remove all ties in ILLiad between the user requesting the item and the item itself. But since the item remains in ILLiad, the Copyright tracking functionality will continue to work.

 

EXAMPLE

If you wanted to be able to break the links on all requests as soon as they were finished by changing the Username to "BrokenUsername", you could write a SQL Script to run once a day that would do this for you on the SQL Server. Here is an example:

Use ILLData
Go

Declare @TN int

Select @TN = (select Max(TransactionNumber) from Transactions where TransactionStatus = 'Request Finished' and Username <> 'BrokenUsername')

While (@TN > 0)
Begin

Update Transactions set Username = 'BrokenUsername', InternalAcctNo = '' where TransactionNumber = @TN
Update Tracking set ChangedBy = 'BrokenUsername' where TransactionNumber = @TN
Update Notes set AddedBy = 'BrokenUsername' where TransactionNumber = @TN
Delete from EMailCopies where TransactionNumber = @TN

Select @TN = (select Max(TransactionNumber) from Transactions where TransactionStatus = 'Request Finished' and Username <> 'BrokenUsername')

End

This script could be modified to allow, for example, only deleting items that are at Request Finished and are a certain length of time old, or only doing this for people who request it (or who request for it not to happen).

HOWTO: Changing the Port for Microsoft SQL Server 2000
January 5, 2006

SUMMARY

You can change the port that ILLiad uses to connect to Microsoft SQL Server (to get around an arbitrary firewall blockage for example). This involves making a change on each server machine (if you have more than one component to the ILLiad server) and each client machine. This also involves editing a configuration file for OpenURL.

Making this change will disrupt ILLiad service until all components are changed.

HOW TO CHANGE THE MICROSOFT SQL SERVER 2000 PORT ON THE SERVER

  1. Open the Microsoft SQL Server Enterprise Manager.
  2. Right-click on your server instance (you may have to expand the server groups).
  3. Choose Properties.
  4. Under the General tab, click the button labeled "Network Configuration". The SQL Server Network Utility will be displayed.
  5. On the right, under the Enabled Protocols, you should see TCP/IP. Select it and hit the Properties button.
  6. The Network Protocol Default Value Setup dialog will ask for the Default Port for SQL Server (it will most likely be 1433). Changing this entry will change the port that SQL Server listens on. Make the change and hit OK to close the dialog.
  7. Hit Apply on the SQL Server Network Utility screen, then OK.
  8. The system will tell you that the changes are saved, but that they will not take effect until you stop and restart the SQL Server service. Hit OK.
  9. Hit OK to close the Properties dialog.
  10. Right-click on your server instance again, and choose to stop the SQL Server service.
  11. Once it has stopped, right-click and choose to start the SQL Server service. Restarting it will now use the new port.

HOW TO CHANGE THE MICROSOFT SQL SERVER 2000 PORT ON THE CLIENT

  1. Close the ILLiad Client and any Administrative tools (Customization Manager, User Manager, etc.).
  2. On each ILLiad Client machine, go to the ILLiad program group and open the Client Network Utility under the Networking folder.
  3. On the right, under the Enabled Protocols, you should see TCP/IP. Select it and hit the Properties button.
  4. The Network Protocol Default Value Setup dialog will ask for the Default Port for SQL Server (it will most likely be 1433). Changing this entry will change the port that ILLiad connects to on the ILLiad/SQL Server.
  5. Change the entry and hit OK to close.
  6. Hit OK to close and save the changes.

HOW TO CHANGE THE MICROSOFT SQL SERVER 2000 PORT FOR OPENURL

  1. On your OpenURL server (almost always the same as your ILLiad web server), open your OpenURL directory and browse to {OpenURLDirectory}\jakarta\webapps\OpenURL\web-inf and open the web.xml file using Notepad.
  2. Towards the top of that file, there is a line of code that says: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ILLData
    (localhost may be replaced by the ip address of your SQL Server if it is not the same machine as your OpenURL server.)
  3. Change the port 1433 to be the new port that you are using to connect to your SQL Server.
  4. Save changes to the file and close it.
  5. Under Services stop and restart the ILLiad OpenURL Service.
HOWTO: Changing the size of a field in the ILLData database
January 5, 2006

SUMMARY

Using the SQL Enterprise Manager tool in Microsoft SQL Server, you can increase the size of data fields in ILLiad up to 250 characters.

 

EXAMPLE

One field that many sites need to expand is the SSN field. Many sites use a longer number than a 9 digit ssn, so need to increase the size. This example shows how to increase the SSN size from 9 to 14.

 

MORE INFORMATION

You can not increase the field size to more than 250 characters. Also, be aware that increasing file sizes may change the default print documents appearances (since the data fields are now larger than the defaults).

HOWTO: Enabling Logging on the ILLiad Gateway
January 5, 2006

SUMMARY

Following the instructions below will enable logging in the ILLiad Gateway.

Caution: Gateway Logging should only be enabled to aid in the diagnosis of a problem - the log files tend to get large quickly.

ENABLING LOGGING

To enable logging in the ILLiad Gateway, create a file called c:\illiad\gateway\log4d.props on the web server that contains the following:

#---- begin log4d.props ----
log4d.debug=TRUE

log4d.categoryFactory=TLogDefaultCategoryFactory

# root priority - valid values are 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'
log4d.rootCategory=DEBUG,ROOT

# root appender
log4d.appender.ROOT=TLogFileAppender
log4d.appender.ROOT.append=TRUE
log4d.appender.ROOT.fileName=c:\illiad\gateway\gateway.log
log4d.appender.ROOT.errorHandler=TLogOnlyOnceErrorHandler
log4d.appender.ROOT.layout=TLogPatternLayout
log4d.appender.ROOT.layout.dateFormat=yyyy-mm-dd hh:MM:ss,zzz
log4d.appender.ROOT.layout.pattern=%d [%p] %c %t - %m%n
#---- end log4d.props ----

The ILLiad Gateway will now log to a file called c:\illiad\gateway\gateway.log

Note: That file may not allow you to open it while the gateway is still running. You may need to stop and restart the ILLiad Gateway service to open the file.


DISABLING LOGGING

To disable logging in the ILLiad Gateway, rename the c:\illiad\gateway\log4d.props file to something else (i.e. disable-log4d.props). If the gateway can not find that file, it will not log any actions.

HOWTO: Enabling Logging on the ILLiad Web DLL
January 5, 2006

SUMMARY

Following the instructions below will enable logging in the ILLiad Web DLL.

Caution: DLL Logging should only be enabled to aid in the diagnosis of a problem - the log files tend to get large quickly.

ENABLING LOGGING

To enable logging in the ILLiad DLL, create a file called c:\illiad\dll\log4d.props on the web server (the server where the ILLiad.dll file is located) that contains the following:

#---- begin log4d.props ----
log4d.debug=TRUE

log4d.categoryFactory=TLogDefaultCategoryFactory

# root priority - valid values are 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'
log4d.rootCategory=DEBUG,ROOT

# root appender
log4d.appender.ROOT=TLogFileAppender
log4d.appender.ROOT.append=TRUE
log4d.appender.ROOT.fileName=c:\illiad\dll\ILLiadDLL.log
log4d.appender.ROOT.errorHandler=TLogOnlyOnceErrorHandler
log4d.appender.ROOT.layout=TLogPatternLayout
log4d.appender.ROOT.layout.dateFormat=yyyy-mm-dd hh:MM:ss,zzz
log4d.appender.ROOT.layout.pattern=%d [%p] %c %t - %m%n
#---- end log4d.props ----

The DLL will now log to a file called c:\illiad\dll\ILLiadDLL.log

You may need to change the permissions on the c:\illiad\dll directory to allow the Internet Guest Account (IUSR_ILLIAD or similar) to create and write to a file. Also that file may not allow you to open it while the dll is still running. You may need to stop and restart the web server to open the file.


DISABLING LOGGING

To disable logging in the ILLiad DLL, rename the c:\illiad\dll\log4d.props file to something else (i.e. disable-log4d.props). If the DLL can not find that file, it will not log any actions.

HOWTO: Implementing SSL with ILLiad
January 5, 2006

SUMMARY

If you are interested in utilizing SSL encryption, we would suggest that you test all of your links and web pages before you make the change. We have outlined some common "issues" you may encounter below.

Once the certificate is installed, to utilize the SSL web pages, you simply have to change your links to the ILLiad web server to be https: For Example: https://Servername/illiad/logon.html.

You will need to do this for every link that you have pointed to the ILLiad server, i.e. on your library home page, ILL homepage, or other sites. This will mean that all data sent between your users and the web server will be encrypted.

You do not have to move your web pages or make any changes to them. See "Issues You May Encounter" below for any exceptions to this.

ISSUES YOU MAY ENCOUNTER

HOWTO: Importing a Customized List of Addresses to ILLiad
January 5, 2006

SUMMARY

Before going live with ILLiad, you may want to remove the addresses supplied by default and use addresses from another database or electronic format. This can be done by formatting the addresses in an Excel file and then importing it into the LenderAddresses(ALL) table within the ILLData database. If you are a hosted site, you will format the Excel file but then send that file to Atlas Systems for it to be imported into your database.

Remember that you only want to do this step before going live with ILLiad so that you do not remove any addresses already used during processing. If you run this query after going live, you will lose the link between lending requests and the library who requested them as well as borrowing requests and the supplying library. This will disrupt processing as well as statistics for all those requests.

Note that in a shared server installation, your LenderAddresses table will be named LenderAddressesALL. Inside that table is a set of addresses for each site code (NVTGC). You will need to remove the entries for each site code you wish and then add new entries for each site code using these instructions. The term LenderAddresses in this article is synonymous with LenderAddressesALL for a shared server installation.

FORMATTING THE ADDRESSES TO IMPORT

The Excel file must have the appropriate fields in it to import into LenderAddresses. Descriptions of each field and its use are in the Reference Guide, but below is a list of all fields in LenderAddresses with any notes about the appropriate value. Fields that are required are starred (*) and those that are strongly recommended are in bold.

Field Field Length in chacters Notes
LenderString * 16 The symbol for that library. It should be the OCLC or Docline symbol if you receive requests from them over those systems.
AddressNumber * [number] This should typically be a value of 1. If you have multiple addresses for an OCLC symbol, you can add them in with the same LenderString but an AddressNumber of 2, 3, etc.
NVTGC * 20 If you are shared server, this should be your site code. If you are single server, this should be Lending. If your table is named LenderAddressesALL, this field is used to separate each view of LenderAddresses for the shared server site codes.
LibraryName 40 The name of the library
Address1 80 The first line of the library address (not library name - generally the institution name)
Address2 80 The second line of the library address
Address3 80 The third line of the library address
Address4 80 The forth line of the library address
BAddress1 80 The first line of the billing address (optional if different than shipping address above)
BAddress2 80 The second line of the billing address (optional)
BAddress3 80 The third line of the billing address (optional)
BAddress4 80 The forth line of the billing address (optional)
Fax 15 The library fax number
ArielAddress 50 The library Ariel address
Phone 15 The library phone number
PriorityShipping 3 This field should be skipped.
CopyrightPayer 3 Only give a value of "Yes" (case-sensitive) if this library includes copyright fees in their charges. Otherwise, the value can be blank or "No". This only pertains to borrowing requests where you would not want to pay additional copyright on items received from this symbol.
BillingExempt 3 This field should be skipped.
BillingCategory 50 Enter the value you wish to assign the library based off of your billing setup. If you do not bill for lending, you can skip this field and leave it blank.
LibCopyCharge 50 This field is only used for reference so you can store any additional information here.
LibLoanCharge 50 This field is only used for reference so you can store any additional information here.
LibBillingMethod 50 This field is only used for reference so you can store any additional information here.
Notes 250 This field is only used for reference so you can store any additional information here.
EFTS 3 Values of "Yes" or "No" (case-sensitive). Only set to Yes if that library is a Docline institution that you wish to charge via EFTS.
EMailAddress 50 The library email address
OdysseyIP 50 This field should be skipped. It will be auto-populated by ILLiad once you receive article requests from other Odyssey users.
OverrideIFM 3 This field should be skipped. It is *very* rarely used and only for libraries who send you requests with IFM information but that you wish to bill by an invoice.
ISO 3 Only fill out this field with a "Yes" value if you have all the ISO ILL information for this library and plan on using ISO ILL.
ISOIPAddress 50 The ip address of that library if they are using ISO ILL. Otherwise leave blank.
ISORequesterId 50 The requester id of that library if they are using ISO ILL. Otherwise leave blank.
ISOUsername 50 This field should be skipped.
ISOPassword 50 This field should be skipped.
WebPassword 100 This field should be skipped. You can reset the web password from within the client for any libraries you wish to give access to your Lending web pages.
Blocked 3 This field should be skipped.
TrustedSender 3 This field should be skipped.
ISOPaymentMethod 6 This field should be skipped.
DefaultShippingMethod 50 This field should be skipped.

You can download a sample Excel file (zipped format) to start with and verify your formatting.

Some helpful hints in adding addresses to your Excel file are below.