Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Voyager Stored Functions in Oracle are not accesible to Read-Only user

    • Product: Voyager
    • Product Version: 7.2.1 - 8.1.2

    Symptoms

    Read-only user script does not generate synonyms for stored procedures, so the read-only user does not have access to them.

    Defect Status

    Issue VYG-266 is resolved in Voyager 8.1.2 and higher.

    Replication Steps

    Replication steps:

    1. Run the read-only user script from the Voyager package to create/refresh the ro_xxxdb user
    2. Log into sqlplus as ro_xxxdb/ro_xxxdb
    3. Run sql to display user's synonym for the procedures:
      1. desc getBibBlob
      2. desc getMFHDBlob
      3. desc getAUTHBlob
    4. You will see errors that the procedures don't exist
    5. Log in as the application's read-write user, and they will exist

    Workaround

    Manually create synonyms / grant permission for the ro user on these procedures. Or use the fully qualified tablespace name: "voydb.getAuthBlob", etc.

    Additional Information

    Oracle Stored Functions
    MARC Functions
    Function Description
    GetAllAuthTag This function returns all tags for an Auth_Id
    GetAllBibTag This function returns all tags for a Bib_Id
    GetAllMFHDTag This function returns all tags for a MFHD_Id
    GetAuthTag This function returns the MARC field for an Auth_Id and tag
    GetBibTag This function returns the MARC field for a Bib_Id and tag
    GetMFHDSubfield This function returns the MARC subfield inormation for a specified MFHD_ID, tag, and subfield
    GetMFHDTag This function returns the MARC field for a MFHD_Id and tag
    Advanced MARC Functions
    Function Description
    GetAllTags This function returns all matching tags
    getAuthBlob This function extracts raw authority blob information for a specific MARC record
    getBibBlob This function extracts raw bibliographic blob information for a specific MARC record
    GetMarcField This function populates the inputs to GetMarcField ( ) and returns the MARC field
    getMFHDBlob This function extracts raw holdings blob information for a specific MARC record
    GetTag This function populates the inputs to MARCField ( ) and returns the MARC field
    Miscellaneous Functions
    Function Description
    getBaseCurrencyCode This function returns the base currency code
    getCallNoClass This function returns the class of the call number
    getConversionRate This function returns a currency conversion rate
    getFirstPatronBarcodeID This function returns the first active patron group for a patron on the basis of status and date
    getItemBarcode This function returns the active item Barcode
    getLatestItemStatus This function returns the ID of the current status of an item
    getPatronActiveAdress This function returns the active address ID for a patron
    getPatronEmailAddress This function returns the active email address for a patron
    setCurrencyDecimals This function uses the Currency_Code to convert the database representation of an amount to a more familiar currency amount
    setConvDecimals This function converts an integer Rate to be a floating-point number
    toBaseCurrency This function converts the database representation of an amount to a base currency amount
    truncField This function limits strings to 4000 characters (the maximum number of characters that can be Output by SQLPLUS)

    Article last edited: 3/16/2015

    //Feedback