diff options
author | James Ahlborn <jtahlborn@yahoo.com> | 2007-11-02 03:48:53 +0000 |
---|---|---|
committer | James Ahlborn <jtahlborn@yahoo.com> | 2007-11-02 03:48:53 +0000 |
commit | 07034fd3ff42e7fd5a394c5dab44dce91c186070 (patch) | |
tree | 1a0fe6220dfa2a511d30f4d0932d13887a3863be /src | |
parent | 622e957cce35487fe01676d277cde3449030a13d (diff) | |
download | jackcess-07034fd3ff42e7fd5a394c5dab44dce91c186070.tar.gz jackcess-07034fd3ff42e7fd5a394c5dab44dce91c186070.zip |
move to maven2
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@167 f203690c-595d-4dc9-a70b-905162fa7fd2
Diffstat (limited to 'src')
-rw-r--r-- | src/changes/changes.xml | 189 | ||||
-rw-r--r-- | src/java/com/healthmarketscience/jackcess/Column.java | 2 | ||||
-rw-r--r-- | src/site/fml/faq.fml | 191 | ||||
-rw-r--r-- | src/site/site.xml | 29 | ||||
-rw-r--r-- | src/site/xdoc/index.xml | 51 |
5 files changed, 461 insertions, 1 deletions
diff --git a/src/changes/changes.xml b/src/changes/changes.xml new file mode 100644 index 0000000..7e20dcc --- /dev/null +++ b/src/changes/changes.xml @@ -0,0 +1,189 @@ +<document> + <properties> + <title>Release notes</title> + <author email="javajedi@users.sf.net">Tim McCune</author> + <author email="jahlborn@users.sf.net">James Ahlborn</author> + </properties> + <body> + <release version="1.1.10" date="TBD"> + </release> + <release version="1.1.9" date="2007-07-12"> + <action dev="jahlborn" type="fix" issue="1675522"> + Add support for writing large table definitions, bug #1675522. + </action> + <action dev="jahlborn" type="fix" issue="1748827"> + Fix handling of usage maps for large tables, bug #1748827. + </action> + <action dev="jahlborn" type="fix" issue="1672071"> + Fixed some edge cases for reading numeric columns, bug #1672071. + </action> + </release> + <release version="1.1.8" date="2007-02-13"> + <action dev="jahlborn" type="update"> + Additional info in DataType to support better type validation + (scale/precision range). Add "unit size" concept. + </action> + <action dev="jahlborn" type="update"> + Add CLOB support in JDBC handling. Add general support for large + types (BLOB/CLOB). + </action> + <action dev="jahlborn" type="update"> + Enhance Database.copyTable/importReader to allow for better control + over column definitions and row values through the ImportFilter. + Change default type translation to handle large and variable length + types better. + </action> + </release> + <release version="1.1.7" date="2006-10-02"> + <action dev="jahlborn" type="update"> + Refactored DataType class, cleaned up a lot of "custom" data type code + springled throughout the codebase. + </action> + <action dev="jahlborn" type="update"> + Added sanity checking on table creation (check column/table properties + for validity). + </action> + <action dev="jahlborn" type="update"> + Clean up index reading/writing of text columns, add support for more + characters + </action> + <action dev="jahlborn" type="update" issue="1563654"> + Support reading 'compressed' indexes (fix 1563654) + </action> + <action dev="jahlborn" type="update"> + Implement "overflow" row reading. + </action> + <action dev="jahlborn" type="fix"> + Allow multi-page long value reading. + </action> + <action dev="jahlborn" type="update"> + Implement multi-page long value writing. + </action> + <action dev="jahlborn" type="fix"> + Fix decimal data type writing. + </action> + <action dev="jahlborn" type="update" issue="1545857"> + Add support for opening files read-only (fix 1545857) + </action> + </release> + <release version="1.1.6" date="2006-08-07"> + <action dev="jahlborn" type="fix" issue="1530312"> + Handle more tables with more index slots than actual indexes (fix bug + 1530312) + </action> + <action dev="jahlborn" type="fix" issue="1449812"> + Clean up reading/writing 3-byte ints; long value length is 3-bytes + (fix bug 1449812) + </action> + <action dev="jahlborn" type="fix"> + Fix handling of skipped rows + </action> + <action dev="jahlborn" type="fix" issue="1306970"> + When reading multi-page table def, flip buffer before parsing (fix bug + 1306970) + </action> + <action dev="jahlborn" type="update"> + Treat table names as case insensitive; use stored table names when + instantiating tables + </action> + <action dev="jahlborn" type="update"> + Make Database and Table Iterable + </action> + <action dev="jahlborn" type="fix"> + Use uppercase names when adding text columns to indexes, which fixes + long standing problem with table names starting with lowercase + characters (and other situations where tables could not be opened in + Access). Remove hack which forced every table name to have uppercase + first character. + </action> + <action dev="jahlborn" type="update"> + Clean up compressed text handling. + </action> + <action dev="jahlborn" type="update"> + Implement reading multi-page long binary values + </action> + </release> + <release version="1.1.5" date="2006-07-25"> + <action dev="jahlborn" type="update"> + Add support for currency columns (thanks to James Schopp). + </action> + <action dev="jahlborn" type="fix"> + Handle tables with no variable length columns correctly. + </action> + <action dev="jahlborn" type="fix"> + Handle reading with deleted columns. + </action> + <action dev="jahlborn" type="update"> + Read information on primary keys and include in Index. + </action> + <action dev="jahlborn" type="fix"> + Fix some issues around reading indexes. + </action> + <action dev="jahlborn" type="update"> + Add write support for numeric/GUID columns. + </action> + <action dev="javajedi" type="update"> + Added getRowCount(), getName(), updated toString() on Table. + </action> + </release> + <release version="1.1.4" date="2006-6-15"> + <action dev="jahlborn" type="fix"> + Missing break in switch condition. + </action> + <action dev="jahlborn" type="fix"> + Fixes + to reading/writing MEMO/OLE columns. + </action> + <action dev="jahlborn" type="update"> + Made exceptions thrown when opening empty or nonexistent files more + specific. + </action> + <action dev="jahlborn" type="fix"> + Apply patch from Jon Iles for handilng variable length columns. + </action> + <action dev="jahlborn" type="fix"> + Apply patch from Jon Iles for handling dates. + </action> + <action dev="jahlborn" type="fix"> + Apply patch from Jon Iles for reading GUIDs. + </action> + </release> + <release version="1.1.3" date="2006-2-16"> + <action dev="jahlborn" type="fix"> + Fix parsing of NUMERIC type. + </action> + <action dev="javajedi" type="fix"> + Applied Jon Iles' patch to allow large table definitions to be read. + </action> + </release> + <release version="1.1.2" date="2005-8-26"> + <action dev="javajedi" type="fix" issue="1273712"> + Fixed bug where writing null values into fixed-width columns was + failing. + </action> + </release> + <release version="1.1.1" date="2005-8-20"> + <action dev="javajedi" type="fix" issue="1261536"> + Fixed bug in reading index count from table definition. Skip overflow + rows. + </action> + </release> + <release version="1.1" date="2005-8-12"> + <action dev="javajedi" type="update"> + JDK 1.5 upgrades + </action> + <action dev="javajedi" type="update"> + Applied Mitchell Friedman's patch for support of additional JDBC data + types. + </action> + <action dev="javajedi" type="update"> + Added support for deleted rows. + </action> + </release> + <release version="1.0" date="2005-4-7"> + <action dev="javajedi" type="add"> + Initial release + </action> + </release> + </body> +</document> diff --git a/src/java/com/healthmarketscience/jackcess/Column.java b/src/java/com/healthmarketscience/jackcess/Column.java index 8612e2c..899ba2d 100644 --- a/src/java/com/healthmarketscience/jackcess/Column.java +++ b/src/java/com/healthmarketscience/jackcess/Column.java @@ -275,7 +275,7 @@ public class Column implements Comparable<Column> { /** * Checks that this column definition is valid. * - * @throw IllegalArgumentException if this column definition is invalid. + * @throws IllegalArgumentException if this column definition is invalid. */ public void validate(JetFormat format) { if(_format != format) { diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml new file mode 100644 index 0000000..70c2b8c --- /dev/null +++ b/src/site/fml/faq.fml @@ -0,0 +1,191 @@ +<?xml version="1.0"?> + +<faqs title="Frequently Asked Questions"> + + <part id="general"> + <title>General</title> + + <faq id="linux"> + <question>Does this work on Linux/Unix?</question> + <answer> + <p>Yep, Jackcess is pure Java. It will work on any + Java Virtual Machine (1.4+).</p> + </answer> + </faq> + + <faq id="formats"> + <question>What Access formats does it support?</question> + <answer> + <p>Jackcess currently supports <i>only</i> Access 2000 + databases. Access 2003 is not supported.</p> + </answer> + </faq> + + <faq id="passwords"> + <question>Are password protected databases supported?</question> + <answer> + <p>Basic password protection is merely software enforced, and Jackcess + does not do any password checking at this point. So, a password + protected database can be used the same as any other.</p> + </answer> + </faq> + + <faq id="mdbtools"> + <question> + How is this different from + <a href="http://mdbtools.sf.net">mdbtools</a>? + </question> + <answer> + <p> + We want to give a lot of credit to mdbtools. They have + been around much longer than Jackcess, and, along with + <a href="http://poi.apache.org/">POI</a>, + inspired us that a project like this could be done. + mdbtools is written in C. There is a Java port of it, + but if you've ever read or used a Java port of a C + library, you can appreciate the difference between such + a library and one written from scratch in Java. + </p> + <p> + At the time of this writing, mdbtools could only read + Access databases. Jackcess can also write to them. + According to their web site, "Write support is currently being + worked on and the first cut is expected to be included in the + 0.6 release." This status hasn't changed since we first + started work on Jackcess. + </p> + <p> + mdbtools supports Access 97 databases, which Jackcess does not. + The Java port of mdbtools also includes an implementation of + a small subset of the JDBC APIs. Jackcess does not currently, + but a pure Java JDBC driver for Access could certainly be written + on top of Jackcess. + </p> + </answer> + </faq> + + <faq id="poi"> + <question> + This looks like a logical addition to + <a href="http://poi.apache.org/">POI</a>. Why not integrate + with that project? + </question> + <answer> + <p> + POI is released under + <a href="http://www.apache.org/foundation/licence-FAQ.html">The Apache License</a>. + Jackcess is released under + <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">The GNU Lesser General Public License</a>. + The Apache license allows closed-source and/or commercial forks. + The LGPL does not. If you change or enhance Jackcess, you must contribute + your changes back to the project. + </p> + </answer> + </faq> + + <faq id="odbc"> + <question> + I'm using the JDBC/ODBC bridge. Why should I try Jackcess? + </question> + <answer> + <p> + <ul> + <li> + Portability - With Jackcess, your app has one less dependency on Windows. + </li> + <li> + Speed - We had an app that used the ODBC bridge to write data to an + Access database. When we switched it over to use Jackcess, it was 5 times faster. + </li> + <li> + Stability - With large amounts of data, we found the ODBC brige to be + pretty unreliable. + </li> + <li> + Simplicity - With Jackcess, there is no ODBC configuration to set up. + </li> + </ul> + </p> + </answer> + </faq> + + <faq id="jdk"> + <question>What version of the JDK does this require?</question> + <answer> + <p> + Version 1.0 requires JDK 1.4 or higher. The version in CVS HEAD and future releases + will require JDK 1.5 or higher. + </p> + <p> + However, some users have contributed patches to make later versions + compatible with JDK 1.4. Please check the contributions/ directory + for any such patches. Note that any code in this directory is + untested and unsupported, so please use at your own risk and do not + file bugs based on that code. + </p> + </answer> + </faq> + + <faq id="dependencies"> + <question>Why do I get a NoClassDefFoundError?</question> + <answer> + <p> + Probably because you're missing a jar that Jackcess depends on from your + classpath. Take a look at the <a href="dependencies.html">dependencies list</a>. The first 3 are required for both building and running + and can be found either at the <a href="http://commons.apache.org/"> + Jakarta Commons</a> or the <a href="http://www.ibiblio.org/maven">Ibiblio + Maven Repository</a>. The others are only required for building, in which + case, Maven will find them for you. + </p> + </answer> + </faq> + + <faq id="speed"> + <question>Why is jackcess so slow for large updates?</question> + <answer> + <p> + While there is much room for improvement in update speed, one factor + is whether or not all writes are automatically forced to disk. By + default, "autoSync" is enabled, which keeps the database file in a + more consistent state, but can be very slow for large updates. + Disabling "autoSync" can dramatically increase update speed, but + exceptions during update can leave the file in an unusable state. + So, modifying this option essentially trades off speed for + recoverability. + </p> + </answer> + </faq> + + <faq id="hms"> + <question>Who is Health Market Science?</question> + <answer> + <p> + HMS is a small company located in suburban Philadelphia. + Using proprietary matching and consolidation software, + HMS scientifically manufactures the most comprehensive + and accurate healthcare data sets in the market today. + <a href="http://www.healthmarketscience.com/company/careers.html">We're hiring!</a> + HMS is always looking for talented individuals. + </p> + </answer> + </faq> + + <faq id="bugs"> + <question>It doesn't work!</question> + <answer> + <p> + Ok, that wasn't a question, but we'll try to respond anyway. :) + Jackcess is young, and not that robust yet. As you might imagine, + it's kind of hard to test, simply by its nature. There are + bugs that we are aware of, and certainly many more that we are not. + If you find what looks like a bug, please + <a href="http://sf.net/tracker/?group_id=134943&atid=731445">report it.</a> + Even better, fix it, and + <a href="http://sf.net/tracker/?group_id=134943&atid=731447">submit a patch.</a> + </p> + </answer> + </faq> + + </part> + +</faqs> diff --git a/src/site/site.xml b/src/site/site.xml new file mode 100644 index 0000000..4577efb --- /dev/null +++ b/src/site/site.xml @@ -0,0 +1,29 @@ +<?xml version="1.0"?> + +<project name="Jackcess"> + <bannerLeft> + <name>Health Market Science</name> + <src>http://www.healthmarketscience.com/images/HMS_logo.gif</src> + <href>http://www.healthmarketscience.com/</href> + </bannerLeft> + <body> + <menu name="Jackcess"> + <item name="About" href="index.html"/> + <item name="OpenHMS" href="http://openhms.sourceforge.net/"/> + <item name="Downloads" href="http://sourceforge.net/project/showfiles.php?group_id=134943"/> + <item name="SourceForge Project" href="http://sourceforge.net/projects/jackcess/"/> + </menu> + + <menu ref="reports"/> + + </body> + + <poweredBy> + <logo name="Works on Linux" img="http://openhms.sourceforge.net/images/worksonlinux.png" + href="http://www.linux.org"/> + <logo name="Hosted by SourceForge" img="http://sflogo.sourceforge.net/sflogo.php?group_id=185339&type=1" href="http://sourceforge.net"/> + <logo name="Built by Maven" img="./images/logos/maven-feather.png" + href="http://maven.apache.org/"/> + </poweredBy> + +</project> diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml new file mode 100644 index 0000000..854ea23 --- /dev/null +++ b/src/site/xdoc/index.xml @@ -0,0 +1,51 @@ +<?xml version="1.0"?> + +<document> + <properties> + <author email="javajedi@users.sf.net">Tim McCune</author> + <title>Java Library for MS Access</title> + </properties> + <body> + <section name="Jackcess"> + <p> + Jackcess is a pure Java library for reading from and writing to MS + Access databases. It is part of the <a href="http://openhms.sourceforge.net/">OpenHMS</a> project from <a href="http://www.healthmarketscience.com/">Health Market Science, Inc.</a>. It is not an application. There is no GUI. It's a + library, intended for other developers to use to build Java + applications. Jackcess is licensed under the + + <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt">GNU Lesser General Public License</a>. + Take a look + at our <a href="faq.html">Frequently Asked Questions</a> + for more info. + </p> + </section> + <section name="Sample code"> + <p> + <ul> + <li>Displaying the contents of a table: + <pre>System.out.println(Database.open(new File("my.mdb")).getTable("MyTable").display());</pre> + </li> + <li>Creating a new table and writing data into it: + <pre>Database db = Database.create(new File("new.mdb")); +Column a = new Column(); +a.setName("a"); +a.setSQLType(Types.INTEGER); +Column b = new Column(); +b.setName("b"); +b.setSQLType(Types.VARCHAR); +db.createTable("NewTable", Arrays.asList(a, b)); +Table newTable = db.getTable("NewTable"); +newTable.addRow(new Object[] {1, "foo"});</pre> + </li> + <li>Copying the contents of a JDBC ResultSet (e.g. from an +external database) into a new table: + <pre>Database.open(new File("my.mdb")).copyTable("Imported", resultSet);</pre> + </li> + <li>Copying the contents of a CSV file into a new table: + <pre>Database.open(new File("my.mdb")).importFile("Imported2", new File("my.csv"), ",");</pre> + </li> + </ul> + </p> + </section> + </body> +</document> |