http://qs321.pair.com?node_id=603676


in reply to Re^3: Perl, Oracle, and Xquery
in thread Perl, Oracle, and Xquery

So I need to take the xquery and translate it back into SQL? There's no easier way to just parse xquery naturally in Perl? It doesn't have to be with DBI/DBD.

Replies are listed 'Best First'.
Re^5: Perl, Oracle, and Xquery
by Moron (Curate) on Mar 07, 2007 at 19:01 UTC
    I can see a number of ways to interpret that. There is the module Net::MarkLogic::XDBC if you are using xquery as a means to connect to a Marklogic CIS server. But Perl won't just wake up one day and parse the xquery syntax for you - if that module isn't sufficient we'll have to think of some other idea for how to parse it.

    Update: bearing in mind that xquery is of course an XML query language, it might be worth taking a look at the various DBI/XML interfacing modules on offer.

    -M

    Free your mind

      I am using Xquery as a means to connect to an Oracle 10.2g database. My apologies if I did not make myself clear about that in the original post.

      But from your answers, it appears that there is not currently a way to do this in Perl, and nobody has written a module to directly support it. I incorrectly assumed that, since Oracle treats xquery as a subset of SQL, the DBI module would allow it. I guess I will have to go under the covers and find out how/if the xquery translates to SQL and write it all out, or use the Java Saxon libraries instead.

        If the intention is to find the easiest way to process these xquery's to Oracle from Perl then although DBI is the best way (but you have to work hard for it if there's no existing DBI/xquery support) - the easiest is probably to use IPC::Open2 to build a Perl wrapper around one of your already-familiar xquery-sessions with Oracle.

        -M

        Free your mind