X-SQLT (Extended SQL Transformation)
X-SQLT is a free-form, declarative, XML-based language used to describe a series of commands for data exchange and transformations, that can be performed on databases, data files or structured documents.
X-SQLT is based on a simple, but generic idea of serialization of basic data exchange operations, where each operation consists of the following elements: source, SQL processing, transformation and destination.
By combining these elements and their kinds (at least two elements must be specified), you can define various types of data exchange tasks.
Brief overview of what you can do with X-SQLT:
- Extract data from database (into XML, JSON or CSV file)
- Import data into database (from XML or CSV file)
- Execute SQL script on database
- Transfer data between databases
- Transform XML file by XSL template
- Extract document fragments from XML file (by XPath expression)
- Extract specified data records from XML file into CSV format
- Convert between XML, CSV and JSON file formats
- Parameterized data exchange and transformations
- Scriptable processing
- and many more ...
Introductory example of X-SQLT project
<?xml version="1.0" ?> <xsqlt name="Introductory example"> <script> <source kind="oledb"> <connection-string> Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbdemos.mdb </connection-string> </source> <xsql kind="inline"> <Customers> SELECT * FROM CUSTOMER <Orders record-tag="Order"> SELECT * FROM ORDER WHERE CustNo=:Customers$CustNo </Orders> </Customers> </xsql> <transform kind="xml" record-tag="Root/Customer" /> <destination>customers.xml</destination> </script> </xsqlt>
The above example extracts customers data (and their orders) from demonstration database and stores results into XML-formatted file. See more examples in X-SQLT Online Manual.
After downloading and installing X-SQLT setup package, you can read full language manual, and you can also try out a set of provided examples that will show you the language possibilities in practice (please, see description of X-SQLT Command-line Processor below, because this tool is used to execute X-SQLT examples).
X-SQLT Command-line Processor
A first fully functional tool, that implements all X-SQLT language specifications is X-SQLT Command-line Processor.
It is an easy to use, fast and resource friendly utility, that allows you to perform specified tasks by using generally available technologies, like ADO DB, MSXML and WSH, and by supporting common data formats (XML, CSV and JSON) and transformations (XSLT, XPath, VBScript, JScript, etc).
Moreover, this utility does not require you to create an
So, this utility can be incorporated into any automation process, or used as a standalone tool for daily operational tasks, no matter if you are using X-SQLT language purposely, or on the background of some simpler task.
X-SQLT Command-line Processor is distributed under FREEWARE license, as a part of X-SQLT setup package.