About Sqlch

What is it?

Sqlch is a pure Java database build suite that integrates with Ant (although you can call it via an API if you prefer). Sqlch is designed to be database independent - it should work with any relational database that uses SQL and has a JDBC driver. It is aimed at what could be called "medium-sized" projects, ones that are larger than the sort one might do at home: with multiple developers using revision control, but smaller than those where you have a full-time DBA, with large amounts of data to load.

Sqlch can deal with both loading data from and saving data back to flat files that can be read and edited by humans.

For more information on the features of Sqlch and why you might want to use it go here.

Where does Sqlch live?

Sqlch is a project hosted by SourceForge.

What does Sqlch stand for?

Life, liberty......

Sqlch was named by Michael Hinshelwood. No, it doesn't mean a thing.

Sqlch refers to a set of tools that is likely to grow over time - at present it mainly consists of a tool to load, delete and dump data in a database. Sqlch contains a number of other tools for assisting with database builds and configuration of the load/save tool.

Motivation

A database build process comes in two common forms:

Sqlch sits somewhere between the two approaches. The simple approach gets annoying to use incredibly quickly, gradually taking more and more time as the requirements grow. The complex type often constitutes a major skills risk for the project since so few people have the ability to understand how the tool works. While you could argue that Sqlch is just as bespoke, all the code is freely available and while it has complexity, it is written in the technology that the majority of a Java development team should be able to understand.

Sqlch won't solve all your problems and if you're already using the complex solution, you probably won't want to go backwards unless it's causing you issues. Sqlch is a direct replacement for the simple approach.

The origins of Sqlch

The Sqlch tool was originated by Neil Fuller, a Java developer that had too much time on his hands between contracts. Neil has an equal dislike of script-based and perl-based database build-processes he doesn't understand and cannot fix if they go wrong.

If you are having trouble with Sqlch or would like to make suggestions or submit fixes, please use the tools on SourceForge.

The quality of support you receive will entirely depend on how helpful the maintainers of Sqlch are feeling when a request arrives and how busy they are at the time. If people would like to volunteer their services to extend and support Sqlch please do.

License

Sqlch has been released under the Apache License 2.0 (http://www.apache.org/licenses/) and is therefore open-source. While the author retains copyright, people are free to use it however they please. See the license file LICENSE in the root of the distribution for more information

Stability

As time goes by, Sqlch will undoubtably evolve and stabilise. Some things that have been assumed in the development of Sqlch will routinely turn out to be false and therefore need to be re-written. Expect changes between versions, even to the APIs.

Status

Sqlch is a young project, not even ready for a proper 1.0 release. Like a child, it will fall over regularly and occasionaly make a huge mess. You have been warned

Sqlch has been tested (somewhat) in the following configurations:

Database product Database platform(s) JDBC Driver version Client platform details
Oracle v9.2 Linux (Redhat Fedora Core 1) Oracle ??? Thin and OCI. TODO Confirm versions Windows / Sun Java 1.4.2_02-b03
MySql v4.0.18 Windows My-SQL Connector 3.0.11 Windows / Sun Java 1.4.2_02-b03
Postgres ???. TODO Confirm versions Linux 7.4 build 213 (jdbc2ee) Windows / Sun Java 1.4.2_02-b03


SourceForge.net Logo

Sqlch SourceForge Distribution: 0.1Alpha8 20041026 2208