I once rewrite the update-handle-prefix script to work with oracle, instead
of postgresql (in version 1.4.2 of DSpace).

I mainly replaced
---8<---
    echo "update handle set handle=overlay(handle placing '$2' from 1 for
$oldPrefixLen) where handle like '$1%';" | psql
    # update the metadatavalue table entries
    echo "update metadatavalue set text_value=overlay(text_value placing
'$2' from 23 for $oldPrefixLen) where text_value like '
http://hdl.handle.net/$1%';" | psql
---8<---
with
---8<---
echo "update handle set handle='$2'||substr(handle,$oldPrefixLen+1) where
handle like '$1%';" | sqlplus $DSPACE_CNXSTR
    # update the metadatavalue table entries
    echo "update metadatavalue set text_value='
http://hdl.handle.net/'||'$2'||substr(text_value,23+$oldPrefixLen) where
text_value like 'http://hdl.handle.net/$1%';" | sqlplus $DSPACE_CNXSTR
---8<---
where $DSPACE_CNXSTR is the connection string to Oracle.

This worked for me.

Only my 2 cents.
--
François PARMENTIER / INIST-CNRS

On Wed, Dec 10, 2008 at 10:32 PM, Stuart Lewis <[email protected]> wrote:

> Hi Tom,
>
> > I'm trying to update a lot of communities and collections that were set
> up
> > prior to our HANDLE being assigned. So according to the "cookbook" I'm
> doing:
> >
> > update-handle-prefix 123456789 10420 (10420 being the new HANDLE number)
> >
> > After seeing how many items are being updated and selecting "yes,"  the
> > all-too-familiar-by-now string of Java errors:
> >
> > Is this YAOI (yet another Oracle incompatibility)? I'm tempted to go into
> the
> > database and manually write some SQL commands to update the  tables. Is
> that
> > even an option? After the metadatavalues table is updated, what else has
> to be
> > done?
>
> After the metadatavalues table has been updated, all that happens is the
> search and browse indexes are rebuilt, but this can be run manually using
> [dspace]/bin/index-update
>
> The query that is failing is:
>
> UPDATE metadatavalue SET text_value= (SELECT 'http://hdl.handle.net/' ||
> handle FROM handle WHERE handle.resource_id=item_id AND
> handle.resource_type_id=2) WHERE  text_value LIKE 'http://hdl.handle.net/%
> ';
>
> If you are able to find out what is causing the error by running it
> directly, please post your solution and we'll get the script updated.
>
> Many thanks,
>
>
> Stuart
> _________________________________________________________________
>
> Gwasanaethau Gwybodaeth                      Information Services
> Prifysgol Aberystwyth                      Aberystwyth University
>
>            E-bost / E-mail: [email protected]
>                 Ffon / Tel: (01970) 622860
> _________________________________________________________________
>
>
>
> ------------------------------------------------------------------------------
> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
> The future of the web can't happen without you.  Join us at MIX09 to help
> pave the way to the Next Web now. Learn more and register at
>
> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
> _______________________________________________
> DSpace-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to