Revision [1512]

This is an old revision of CommandXsql made by DavidLee on 2010-09-28 07:17:06.


Command xsql


xsql queries a a relational database using jdbc


xsql [ serialization options ] [options]


-cp,-classpath path Specifies an additional classpath to use to load the jdbc driver
-d,-driver class Specifies the jdbc driver classname
-u,-user user Username
-p,-password password Password
-root root Root element for generated xml
-row rowRow element name for generated xml
-attrUse attribute normal form instead of element normal form for column data
-c,-connect stringConnect string for jdbc connections
-q query SQL query to run
-o,-option name=valueSpecifiy additional connection options, may be repeated (-o opt1=value1 -o opt2=value2)
-insertPerform an insert operation instead of a select
-update,-executePerform an Update or Execute instead of select
-tableAttr attrUse the argument ("attr") to indicate which table to insert/update otherwise the element name is used as the table name
-fieldAttr attrUse the argumet ("fieldAttr") to indicate which attribute specifies the field names otherwise the element name is used as the field name
-fetch rowsSets the fetch size "" setFetchSize

Supports the standard [ serialization options ]


xsql connects to a database using the java jdbc interface, executes an sql statement and returns the result as an xml document. The xml document is formatted similarly to csv2xml.

Example using the mysql JDBC connector

xsql -cp mysql-connector-java-5.1.7-bin.jar -c jdbc:mysql:// -u xmlsh -p password -d  -q 'select * from books'

Example using the csvjdbc driver from
xsql -cp csvjdbc.jar -d org.relique.jdbc.csv.CsvDriver -c "jdbc:relique:csv:$PWD" "select * from books"

Added suppressHeaders option
xsql -cp csvjdbc.jar -d org.relique.jdbc.csv.CsvDriver  -o suppressHeaders=true -c "jdbc:relique:csv:$PWD" "select * from books"

Oracle Example using ojdbc14.jar with failover
xsql -cp ojdbc14.jar -driver oracle.jdbc.OracleDriver \
	 -connect "jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(" \
	 -user myuser -password mypass \
	 -q "SELECT * from TABLE" > drugs.xml

Create an SQLIte database
xsql -cp $CP -c jdbc:sqlite:sqlite.db -d org.sqlite.JDBC -execute 'CREATE table test (TITLE , AUTHOR , PUBLISHER , `PUB-DATE` , LANGUAGE, PRICE , QUANTITY , ISBN , PAGES , DIMENSIONS , WEIGHT  )' > /dev/null

Add data to a databae
document {
	<TITLE>Pride and Prejudice</TITLE>
	<AUTHOR>Jane Austen</AUTHOR>
	<TITLE>Wuthering Heights</TITLE>
	<AUTHOR>Charlotte Bront</AUTHOR>
	<PUBLISHER>Penguin Classics</PUBLISHER>

xsql -cp $CP -c jdbc:sqlite:sqlite.db -d org.sqlite.JDBC -insert <{_TEST} > /dev/null

Return Value

Returns 0 if the command executed successfully, 1 if there was an error.


There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki