提交 24e04f58 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation improvements

上级 1256ab7b
......@@ -94,7 +94,6 @@ In this case, each block of rows is sorted using quick sort, then written to dis
when reading the data, the blocks are merged together.
</p>
<br />
<h2 id="large_objects">Large Objects</h2>
<h3>Storing and Reading Large Objects</h3>
......@@ -130,7 +129,6 @@ operations. If you store many large compressible values such as XML, HTML, text,
then compressing can save a lot of disk space (sometimes more than 50%), and read operations may even be faster.
</p>
<br />
<h2 id="linked_tables">Linked Tables</h2>
<p>
This database supports linked tables, which means tables that don't exist in the current database but
......@@ -160,7 +158,6 @@ The statement <a href="grammar.html#create_linked_table" class="notranslate" >CR
supports an optional schema name parameter.
</p>
<br />
<h2 id="transaction_isolation">Transaction Isolation</h2>
<p>
Transaction isolation is provided for all data manipulation language (DML) statements.
......@@ -232,7 +229,6 @@ connection will get a lock timeout exception. The lock timeout can be set indivi
for each connection.
</p>
<br />
<h2 id="mvcc">Multi-Version Concurrency Control (MVCC)</h2>
<p>
The MVCC feature allows higher concurrency than using (table level or row level) locks.
......@@ -259,7 +255,6 @@ the complete undo log must fit in memory when using multi-version concurrency
(the setting <code>MAX_MEMORY_UNDO</code> has no effect).
</p>
<br />
<h2 id="clustering">Clustering / High Availability</h2>
<p>
This database supports a simple clustering / high availability mechanism. The architecture is:
......@@ -342,7 +337,6 @@ Those functions should not be used directly in modifying statements
in read-only statements and the result can then be used for modifying statements.
</p>
<br />
<h2 id="two_phase_commit">Two Phase Commit</h2>
<p>
The two phase commit protocol is supported. 2-phase-commit works as follows:
......@@ -363,7 +357,6 @@ The two phase commit protocol is supported. 2-phase-commit works as follows:
</li><li>The database needs to be closed and re-opened to apply the changes
</li></ul>
<br />
<h2 id="compatibility">Compatibility</h2>
<p>
This database is (up to a certain point) compatible to other databases such as HSQLDB, MySQL and PostgreSQL.
......@@ -392,7 +385,6 @@ Certain words of this list are keywords because they are functions that can be u
for example <code>CURRENT_TIMESTAMP</code>.
</p>
<br />
<h2 id="standards_compliance">Standards Compliance</h2>
<p>
This database tries to be as much standard compliant as possible. For the SQL language, ANSI/ISO is the main
......@@ -401,7 +393,6 @@ Unfortunately, the standard documentation is not freely available. Another probl
are not standardized. Whenever this is the case, this database tries to be compatible to other databases.
</p>
<br />
<h2 id="windows_service">Run as Windows Service</h2>
<p>
Using a native wrapper / adapter, Java applications can be run as a Windows Service.
......@@ -445,7 +436,6 @@ To uninstall the service, double click on <code>5_uninstall_service.bat</code>.
If successful, a command prompt window will pop up and disappear immediately. If not, a message will appear.
</p>
<br />
<h2 id="odbc_driver">ODBC Driver</h2>
<p>
This database does not come with its own ODBC driver at this time,
......@@ -552,7 +542,6 @@ Also, it is currently not possible to use encrypted SSL connections.
Therefore the ODBC driver should not be used where security is important.
</p>
<br />
<h2 id="microsoft_dot_net">Using H2 in Microsoft .NET</h2>
<p>
The database can be used from Microsoft .NET even without using Java, by using IKVM.NET.
......@@ -602,7 +591,6 @@ class Test
}
</pre>
<br />
<h2 id="acid">ACID</h2>
<p>
In the database world, ACID stands for:
......@@ -642,7 +630,6 @@ If durability is required for all possible cases of hardware failure, clustering
such as the H2 clustering mode.
</p>
<br />
<h2 id="durability_problems">Durability Problems</h2>
<p>
Complete durability means all committed transaction survive a power failure.
......@@ -728,7 +715,6 @@ none of the databases contains all the records that the listener computer knows
consult the source code of the listener and test application.
</p>
<br />
<h2 id="using_recover_tool">Using the Recover Tool</h2>
<p>
The <code>Recover</code> tool can be used to extract the contents of a data file, even if the database is corrupted.
......@@ -753,7 +739,6 @@ however it does not automatically apply those changes. Usually, many of those ch
applied in the database.
</p>
<br />
<h2 id="file_locking_protocols">File Locking Protocols</h2>
<p>
Whenever a database is opened, a lock file is created to signal other processes
......@@ -836,7 +821,6 @@ share, two processes (running on different computers) could still open the same
database files, if they do not have a direct TCP/IP connection.
</p>
<br />
<h2 id="sql_injection">Protection against SQL Injection</h2>
<h3>What is SQL Injection</h3>
<p>
......@@ -922,7 +906,6 @@ It is not required to create a constant for the number 0 as there is already a b
SELECT * FROM USERS WHERE LENGTH(PASSWORD)=ZERO();
</pre>
<br />
<h2 id="remote_access">Protection against Remote Access</h2>
<p>
By default this database does not allow others to connect when starting the H2 Console,
......@@ -934,7 +917,6 @@ users can not create new databases or access existing databases with weak passwo
ensure the existing accessible databases are protected using a strong password.
</p>
<br />
<h2 id="restricting_classes">Restricting Class Loading and Usage</h2>
<p>
By default there is no restriction on loading classes and executing Java code for admins.
......@@ -963,7 +945,6 @@ trigger classes, user-defined functions, user-defined aggregate functions, and J
driver classes (with the exception of the H2 driver) when using the H2 Console.
</p>
<br />
<h2 id="security_protocols">Security Protocols</h2>
<p>
The following paragraphs document the security protocols used in this database.
......@@ -1074,7 +1055,6 @@ There is a default self-certified certificate to support an easy starting point,
custom certificates are supported as well.
</p>
<br />
<h2 id="ssl_tls_connections">SSL/TLS Connections</h2>
<p>
Remote SSL/TLS connections are supported using the Java Secure Socket Extension
......@@ -1092,7 +1072,6 @@ for more information.
To disable anonymous SSL, set the system property <code>h2.enableAnonymousSSL</code> to false.
</p>
<br />
<h2 id="uuid">Universally Unique Identifiers (UUID)</h2>
<p>
This database supports UUIDs. Also supported is a function to create new UUIDs using
......@@ -1135,7 +1114,6 @@ one's annual risk of being hit by a meteorite is estimated to be one chance in 1
that means the probability is about 0.000'000'000'06.
</p>
<br />
<h2 id="system_properties">Settings Read from System Properties</h2>
<p>
Some settings of the database can be set on the command line using
......@@ -1155,7 +1133,6 @@ For a complete list of settings, see
<a href="../javadoc/org/h2/constant/SysProperties.html">SysProperties</a>.
</p>
<br />
<h2 id="server_bind_address">Setting the Server Bind Address</h2>
<p>
Usually server sockets accept connections on any/all local addresses.
......@@ -1165,7 +1142,6 @@ This setting is used for both regular server sockets and for SSL server sockets.
IPv4 and IPv6 address formats are supported.
</p>
<br />
<h2 id="file_system">Pluggable File System</h2>
<p>
This database supports a pluggable file system API. The file system implementation
......@@ -1187,7 +1163,6 @@ To register a new file system, extend the classes <code>org.h2.store.fs.FileSyst
and call the method <code>FileSystem.register</code> before using it.
</p>
<br />
<h2 id="limits_limitations">Limits and Limitations</h2>
<p>
This database has the following known limitations:
......@@ -1226,7 +1201,6 @@ OR X = 2 OR X = 2 OR X = 2 OR X = 2 OR X = 2
or the data type documentation of this database.
</li></ul>
<br />
<h2 id="glossary_links">Glossary and Links</h2>
<table>
<tr>
......
......@@ -33,14 +33,12 @@ Build
<a href="#automated">
Automated Build</a><br />
<br />
<h2 id="portability">Portability</h2>
<p>
This database is written in Java and therefore works on many platforms.
It can also be compiled to a native executable using GCJ.
</p>
<br />
<h2 id="environment">Environment</h2>
<p>
A Java Runtime Environment (JRE) version 1.5 or higher is required to run this database.
......@@ -63,7 +61,6 @@ Newer version or compatible software works too.
</li><li><a href="http://maven.apache.org">Maven 2.0.9</a>
</li></ul>
<br />
<h2 id="building">Building the Software</h2>
<p>
You need to install a JDK, for example the Sun JDK version 1.5 or 1.6.
......@@ -93,7 +90,6 @@ To switch the source code to the installed version of Java, run:
build switchSource
</pre>
<br />
<h2 id="build_targets">Build Targets</h2>
<p>
The build system can generate smaller jar files as well. The following targets are currently supported:
......@@ -115,7 +111,6 @@ To create the file <code>h2client.jar</code>, go to the directory <code>h2</code
build jarClient
</pre>
<br />
<h2 id="maven2">Using Maven 2</h2>
<h3>Using a Central Repository</h3>
<p>
......@@ -153,7 +148,6 @@ Afterwards, you can include the database in your Maven 2 project as a dependency
&lt;/dependency&gt;
</pre>
<br />
<h2 id="translating">Translating</h2>
<p>
The translation of this software is split into the following parts:
......@@ -172,7 +166,6 @@ The web site translation is automated as well,
using <code>build docs</code>.
</p>
<br />
<h2 id="providing_patches">Providing Patches</h2>
<p>
If you like to provide patches, please consider the following guidelines to simplify merging them:
......@@ -213,7 +206,6 @@ multiple-licensed under the H2 License, version 1.0, and under the
Eclipse Public License, version 1.0 (http://h2database.com/html/license.html)."
</p>
<br />
<h2 id="automated">Automated Build</h2>
<p>
This build process is automated and runs regularly.
......
......@@ -18,7 +18,8 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>-
<ul><li>The documentation is no longer available in Japanese because the
translation was too much out of sync. Please use the Google translation instead.
</li></ul>
<h2>Version 1.2.121 (2009-10-11)</h2>
......
......@@ -23,7 +23,6 @@ Data Types
</p>
<c:forEach var="item" items="dataTypes">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre>
${item.syntax}
......
......@@ -40,7 +40,6 @@ Frequently Asked Questions
<a href="#translate">
How to Translate this Project?</a><br />
<br />
<h3 id="known_bugs">Are there Known Bugs? When is the Next Release?</h3>
<p>
Usually, bugs get fixes as they are found. There is a release every few weeks.
......@@ -64,14 +63,12 @@ Here is the list of known and confirmed issues:
This problem is solved in Install4j 4.1.4.
</li></ul>
<br />
<h3 id="open_source">Is this Database Engine Open Source?</h3>
<p>
Yes. It is free to use and distribute, and the source code is included.
See also under license.
</p>
<br />
<h3 id="query_slow">My Query is Slow</h3>
<p>
Slow <code>SELECT</code> (or <code>DELETE, UPDATE, MERGE</code>)
......@@ -87,13 +84,12 @@ statement can have multiple reasons. Follow this checklist:
</li>
</ul>
<br />
<h3 id="create_database">How to Create a New Database?</h3>
<p>
By default, a new database is automatically created if it does not yet exist.
See <a href="tutorial.html#creating_new_databases">Creating New Databases</a>.
</p>
<br />
<h3 id="connect">How to Connect to a Database?</h3>
<p>
The database driver is <code>org.h2.Driver</code>,
......@@ -105,7 +101,6 @@ Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");
</pre>
<br />
<h3 id="database_files">Where are the Database Files Stored?</h3>
<p>
When using database URLs like <code>jdbc:h2:~/test</code>,
......@@ -123,13 +118,11 @@ fully qualified directory name (and for Windows, drive name).
Example: <code>jdbc:h2:file:C:/data/test</code>
</p>
<br />
<h3 id="size_limit">What is the Size Limit (Maximum Size) of a Database?</h3>
<p>
See <a href="advanced.html#limits_limitations">Limits and Limitations</a>.
</p>
<br />
<h3 id="reliable">Is it Reliable?</h3>
<p>
That is not easy to say. It is still a quite new product. A lot of tests have been written,
......@@ -184,7 +177,6 @@ See also: <a href="grammar.html#set_log" class="notranslate">SET LOG</a>. This p
using the new 'page store' mechanism (currently beta).
</p>
<br />
<h3 id="slow_open">Why is Opening my Database Slow?</h3>
<p>
If it takes a long time to open a database, in most cases it was not closed the last time.
......@@ -207,7 +199,6 @@ Other possible reasons are: the database is very big (many GB), or contains link
that are slow to open.
</p>
<br />
<h3 id="gcj">Is the GCJ Version Stable? Faster?</h3>
<p>
The GCJ version is not as stable as the Java version.
......@@ -217,7 +208,6 @@ Currently, the GCJ version is also slower than when using the Sun VM.
However, the startup of the GCJ version is faster than when using a VM.
</p>
<br />
<h3 id="translate">How to Translate this Project?</h3>
<p>
For more information, see
......
......@@ -17,12 +17,16 @@ Initial Developer: H2 Group
<div class="menu">
<img src="images/h2-logo.png" alt="H2 Logo" onclick="document.location='main.html'" width="136" height="74"/>
</div>
<form action="submit" onsubmit="return goFirst();">
<table width="100%" class="search">
<tr class="search">
<td class="search" colspan="2">
<a href="frame.html"><img src="images/language_en.gif" alt="English" width="23" height="15"/></a>
<a href="frame_ja.html"><img src="images/language_ja.gif" alt="Japanese" width="23" height="15"/></a>
<!-- translate
<a href="http://translate.google.com/translate?u=http%3A%2F%2Fh2database.com"
onclick="javascript:document.getElementById('translate').style.display='';return false;">Translate</a>
<div id = "translate" style="display:none"><div id = "google_translate_element"></div></div>
translate -->
</td>
</tr>
<tr class="search">
......@@ -52,6 +56,7 @@ Initial Developer: H2 Group
<div class="menu">
<b><a href="main.html"> Home </a></b><br />
<a href="quickstart.html"> Quickstart </a><br />
<a href="cheatSheet.html"> Cheat Sheet </a><br />
<a href="installation.html"> Installation </a><br />
<a href="tutorial.html"> Tutorial </a><br />
<a href="features.html"> Features </a><br />
......@@ -76,18 +81,6 @@ Initial Developer: H2 Group
<a href="license.html"> License </a><br />
<br />
<!-- translate
<a href="http://translate.google.com/translate?u=http%3A%2F%2Fh2database.com"
onclick="javascript:document.getElementById('translate').style.display='';return false;">Translate</a>
<div id = "translate" style="display:none"><div id = "google_translate_element"></div></div>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
translate -->
</div>
</div>
</td>
......@@ -101,6 +94,8 @@ translate -->
</div></td></tr></table>
<script type="text/javascript" src="index.js"></script>
<script type="text/javascript" src="search.js"></script>
<script type="text/javascript">function googleTranslateElementInit() { new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element'); } </script>
<!-- } -->
</body></html>
\ No newline at end of file
......@@ -53,7 +53,6 @@ Functions
</p>
<c:forEach var="item" items="functionsAll">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre>
${item.syntax}
......
......@@ -51,7 +51,6 @@ SQL Grammar
</p>
<c:forEach var="item" items="commands">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre>
${item.syntax}
......@@ -62,7 +61,6 @@ ${item.syntax}
</c:forEach>
<c:forEach var="item" items="otherGrammar">
<br />
<h3 id="${item.link}" class="notranslate">${item.topic}</h3>
<pre>
${item.syntax}
......@@ -72,7 +70,6 @@ ${item.syntax}
<p class="notranslate">${item.example}</p>
</c:forEach>
<br />
<h3 id="information_schema" class="notranslate">Information Schema</h3>
<p>
The system tables in the schema <code>INFORMATION_SCHEMA</code> contain the meta data
......@@ -87,7 +84,6 @@ of all tables in the database as well as the current settings.
</c:forEach>
</table>
<br />
<h3 id="range_table" class="notranslate">Range Table</h3>
<p>
The range table is a dynamic system table that contains all values from a start to an end value.
......
......@@ -27,7 +27,6 @@ History
<a href="#supporters">
Supporters</a><br />
<br />
<h2 id="changelog">Change Log</h2>
<p>
The up-to-date change log is available at
......@@ -36,7 +35,6 @@ http://www.h2database.com/html/changelog.html
</a>
</p>
<br />
<h2 id="roadmap">Roadmap</h2>
<p>
The current roadmap is available at
......@@ -45,7 +43,6 @@ http://www.h2database.com/html/roadmap.html
</a>
</p>
<br />
<h2 id="history">History of this Database Engine</h2>
<p>
The development of H2 was started in May 2004,
......@@ -58,7 +55,6 @@ The name H2 stands for Hypersonic 2; however H2 does not share any code with
Hypersonic SQL or HSQLDB. H2 is built from scratch.
</p>
<br />
<h2 id="why_java">Why Java</h2>
<p>
A few reasons using a Java database are:
......@@ -92,7 +88,6 @@ instead of using the existing libraries. Libraries that are not available in ope
Java implementations (such as Swing) are not used or only used for specific features.
</p>
<br />
<h2 id="supporters">Supporters</h2>
<p>
Many thanks for those who helped by finding and reporting bugs, gave valuable feedback,
......
......@@ -26,7 +26,6 @@ Installation
<a href="#directory_structure">
Directory Structure</a><br />
<br />
<h2 id="requirements">Requirements</h2>
<p>
To run the database, the following minimum software stack is known to work:
......@@ -38,7 +37,6 @@ To run the database, the following minimum software stack is known to work:
</li><li>Mozilla Firefox 1.5 or newer
</li></ul>
<br />
<h2 id="supported_platforms">Supported Platforms</h2>
<p>
As this database is written in Java, it can run on many different platforms.
......@@ -48,13 +46,11 @@ developed and tested on Windows XP and Mac OS X using the Sun JDK 1.5, but it al
works in many other operating systems and using other Java runtime environments.
</p>
<br />
<h2 id="installing">Installing the Software</h2>
<p>
To install the software, run the installer or unzip it to a directory of your choice.
</p>
<br />
<h2 id="directory_structure">Directory Structure</h2>
<p>
After installing, you should get the following directory structure:
......
......@@ -29,7 +29,6 @@ Performance
<a href="#fast_import">
Fast Database Import</a><br />
<br />
<h2 id="performance_comparison">Performance Comparison</h2>
<p>
In many cases H2 is faster than other
......@@ -272,7 +271,6 @@ Here, one (wrapper) connection is opened at the start,
and for each step a new connection is opened and then closed.
</p>
<br />
<h2 id="poleposition_benchmark">PolePosition Benchmark</h2>
<p>
The PolePosition is an open source benchmark. The algorithms are all quite simple.
......@@ -318,7 +316,6 @@ To change that, use the database URL <code>jdbc:h2:file:data/h2/dbbench;DB_CLOSE
Unfortunately, the PolePosition test does not take this into account.
</li></ul>
<br />
<h2 id="application_profiling">Application Profiling</h2>
<h3>Analyze First</h3>
......@@ -345,7 +342,6 @@ run <code>jstack &lt;pid&gt;</code> or <code>kill -QUIT &lt;pid&gt;</code> (Linu
Ctrl+C (Windows).
</p>
<br />
<h2 id="database_profiling">Database Profiling</h2>
<p>
The <code>ConvertTraceFile</code> tool generates SQL statement statistics at the end of the SQL script file.
......@@ -384,7 +380,6 @@ following profiling data (results vary):
-- 0% 100% 0 1 0 SET TRACE_LEVEL_FILE 3;
</pre>
<br />
<h2 id="database_performance_tuning">Database Performance Tuning</h2>
<h3>Use a Modern JVM</h3>
......@@ -521,7 +516,6 @@ Each data type has different storage and performance characteristics:
to work with than <code>INTEGER</code> in most modes.
</li></ul>
<br />
<h2 id="fast_import">Fast Database Import</h2>
<p>
To speed up large imports, consider using the following options temporarily:
......
......@@ -21,7 +21,6 @@ Quickstart
<a href="#h2_console">
The H2 Console Application</a><br />
<br />
<h2 id="embedding">Embedding H2 in an Application</h2>
<p>
This database can be used in embedded mode, or in server mode. To use it in embedded mode, you need to:
......@@ -33,7 +32,6 @@ This database can be used in embedded mode, or in server mode. To use it in embe
</li><li>A new database is automatically created
</li></ul>
<br />
<h2 id="h2_console">The H2 Console Application</h2>
<p>
The Console lets you access a SQL database using a browser interface.
......
......@@ -32,7 +32,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
<ul>
<li>Bugfixes
</li><li>Page store: new storage mechanism
</li><li>[Requires page store] Support large updates (use the transaction log for rollback).
</li><li>[Requires page store] Support large updates (use the transaction log
for rollback instead of persistent UndoLog.file).
</li><li>[Requires page store] Shutdown compact
</li><li>More tests with MULTI_THREADED=1
</li><li>RECOVER=1 should automatically recover, =2 should run the recovery tool if required
......@@ -94,6 +95,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Comparison: pluggable sort order: natural sort
</li><li>Count index range query (count(*) where id between 10 and 20)
</li><li>Support alter table add column if table has views defined
</li><li>Recursive Queries (see details)
</li><li>Eclipse plugin
</li><li>Asynchronous queries to support publish/subscribe: SELECT ... FOR READ WAIT [maxMillisToWait]
</li><li>Fulltext search Lucene: analyzer configuration.
......@@ -186,7 +188,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Read InputStream when executing, as late as possible (maybe only embedded mode). Problem with re-execute.
</li><li>Native fulltext search: min word length; store word positions
</li><li>[Requires page store] Store dates in local time zone (portability of database files)
</li><li>Recursive Queries (see details)
</li><li>Add an option to the SCRIPT command to generate only portable / standard SQL
</li><li>Test Dezign for Databases (http://www.datanamic.com)
</li><li>Fast library for parsing / formatting: http://javolution.org/
......@@ -394,6 +395,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Natural join: support select x from dual natural join dual.
</li><li>Natural join: somehow support this: select a.x, b.x, x from dual a natural join dual b
</li><li>MySQL compatibility: for auto_increment columns, convert 0 to next value (as when inserting NULL).
</li><li>Optimization for multi-column IN: use an index if possible. Example: (A, B) IN((1, 2), (2, 3)).
</li><li>Optimization for EXISTS: convert to inner join or IN(..) if possible.
</li><li>Functions: support hashcode(value); cryptographic and fast
</li><li>Serialized file lock: support long running queries.
</li><li>Network: use 127.0.0.1 if other addresses don't work.
......@@ -446,7 +449,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Oracle compatibility: support CREATE SYNONYM table FOR schema.table.
</li><li>Optimize A=? OR B=? to UNION if the cost is lower.
</li><li>More secure default configuration if remote access is enabled.
</li><li>Optimization for EXISTS: convert to inner join if possible.
</li><li>Improve database file locking (maybe use native file locking). The current approach seems to be problematic
if the file system is on a remote share (see Google Group 'Lock file modification time is in the future').
</li><li>Document internal features such as BELONGS_TO_TABLE, NULL_TO_DEFAULT, SEQUENCE.
......
......@@ -53,7 +53,6 @@ Tutorial
<a href="#spring">
Using Spring</a><br />
<br />
<h2 id="tutorial_starting_h2_console">Starting and Using the H2 Console</h2>
<p>
The H2 Console application lets you access a SQL database using a browser interface.
......@@ -224,7 +223,6 @@ press [Ctrl]+[C] in the console where the server was started (Windows),
or close the console window.
</p>
<br />
<h2 id="console_settings">Settings of the H2 Console</h2>
<p>
The settings of the H2 Console are stored in a configuration file
......@@ -233,7 +231,6 @@ For Windows installations, the user home directory is usually <code>C:\Documents
The configuration file contains the settings of the application and is automatically created when the H2 Console is first started.
</p>
<br />
<h2 id="connecting_using_jdbc">Connecting to a Database using JDBC</h2>
<p>
To connect to a database, a Java application first needs to load the database driver,
......@@ -262,15 +259,17 @@ is the user name (<code>sa</code> for System Administrator in this example). The
In this database, user names are not case sensitive, but passwords are.
</p>
<br />
<h2 id="creating_new_databases">Creating New Databases</h2>
<p>
By default, if the database specified in the URL does not yet exist, a new (empty)
database is created automatically. The user that created the database automatically becomes
the administrator of this database.
</p>
<p>
Auto-creating new database can be disabled, see
<a href="features.html#database_only_if_exists">Opening a Database Only if it Already Exists</a>.
</p>
<br />
<h2 id="using_server">Using the Server</h2>
<p>
H2 currently supports three server: a web server (for the H2 Console),
......@@ -345,7 +344,6 @@ Shutting down a TCP server can be protected using the option <code>-tcpPassword<
(the same password must be used to start and stop the TCP server).
</p>
<br />
<h2 id="using_hibernate">Using Hibernate</h2>
<p>
This database supports Hibernate version 3.1 and newer. You can use the HSQLDB Dialect,
......@@ -356,7 +354,6 @@ is also available at <code>src/tools/org/hibernate/dialect/H2Dialect.java.txt</c
You can rename it to <code>H2Dialect.java</code> and include this as a patch in your application.
</p>
<br />
<h2 id="using_toplink">Using TopLink and Glassfish</h2>
<p>
To use H2 with Glassfish (or Sun AS), set the Datasource Classname to
......@@ -383,7 +380,6 @@ To enable it, change the following setting in persistence.xml:
In old versions of Glassfish, the property name is <code>toplink.platform.class.name</code>.
</p>
<br />
<h2 id="web_applications">Using Databases in Web Applications</h2>
<p>
There are multiple ways to access a database from within web
......@@ -494,7 +490,6 @@ To create a web application with just the H2 Console, run the following command:
build warConsole
</pre>
<br />
<h2 id="csv">CSV (Comma Separated Values) Support</h2>
<p>
The CSV file support can be used inside the database using the functions
......@@ -568,7 +563,6 @@ public class TestCsv {
}
</pre>
<br />
<h2 id="upgrade_backup_restore">Upgrade, Backup, and Restore</h2>
<h3>Database Upgrade</h3>
......@@ -633,7 +627,6 @@ if the file systems support creating snapshots. The problem is that it can't
be guaranteed that the data is copied in the right order.
</p>
<br />
<h2 id="command_line_tools">Command Line Tools</h2>
<p>
This database comes with a number of command line tools. To get more information about a tool,
......@@ -663,7 +656,6 @@ The tools can also be called from an application by calling the main or another
For details, see the Javadoc documentation.
</p>
<br />
<h2 id="open_office">Using OpenOffice Base</h2>
<p>
OpenOffice.org Base supports database access over the JDBC API. To connect to a H2 database
......@@ -711,7 +703,6 @@ This can be done by create it using the NetBeans OpenOffice plugin.
See also <a href="http://wiki.services.openoffice.org/wiki/Extensions_development_java">Extensions Development</a>.
</p>
<br />
<h2 id="web_start">Java Web Start / JNLP</h2>
<p>
When using Java Web Start / JNLP (Java Network Launch Protocol), permissions tags must be set in the .jnlp file,
......@@ -726,7 +717,6 @@ Example permission tags:
&lt;/security>
</pre>
<br />
<h2 id="connection_pool">Using a Connection Pool</h2>
<p>
For H2, opening a connection is fast if the database is already open.
......@@ -755,7 +745,6 @@ public class Test {
}
</pre>
<br />
<h2 id="fulltext">Fulltext Search</h2>
<p>
H2 includes two fulltext search implementations. One is using Apache Lucene,
......@@ -864,7 +853,6 @@ org.h2.fulltext.FullTextLucene.search(conn, text, limit, offset);
org.h2.fulltext.FullTextLucene.searchData(conn, text, limit, offset);
</pre>
<br />
<h2 id="user_defined_variables">User-Defined Variables</h2>
<p>
This database supports user-defined variables. Variables start with <code>@</code> and can be used wherever
......@@ -888,7 +876,6 @@ of the value assigned to it, that means it is not necessary (or possible) to dec
There are no restrictions on the assigned values; large objects (LOBs) are supported as well.
</p>
<br />
<h2 id="date_time">Date and Time</h2>
<p>
Date, time and timestamp values support ISO 8601 formatting, including time zone:
......@@ -907,7 +894,6 @@ the database using the <code>RUNSCRIPT</code> command
or the <code>RunScript</code> tool in the new time zone.
</p>
<br />
<h2 id="spring">Using Spring</h2>
<p>
Use the following configuration to start and stop the H2 TCP server using the Spring Framework:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论