Tutorial
Tutorial
Iniciar e utilizar o H2 Console especiais H2 Console Sintaxe Configuraes do Console H2 Conectando-se a um banco de dados usando JDBC Criando novos bancos de dados usando o Servidor Usando Hibernate Usando TopLink e Glassfish Usando EclipseLink Usando Apache ActiveMQ Usando H2 no NetBeans Usando H2 com jOOQ Usando bancos de dados na Web Aplicaes Android CSV (Comma Separated Values) Suporte para atualizao, backup e restaurao de ferramentas de linha de comando A ferramenta Shell Usando OpenOffice Base de Java Web Start / JNLP Usando um pool de conexo de texto completo Pesquisa Variveis definidas pelo usurio data e hora usando Spring OSGi Java Gesto Extension (JMX )
Traduzir Pesquisar:
Incio de Download Cheat Sheet Documentao Quickstart Instalao Tutorial Caractersticas Desempenho Avanado Referncia SQL Gramtica Funes Tipos de dados Javadoc PDF (1 MB) Suporte FAQ Erro Analyzer Google Group (em Ingls) Google Group (japons) Google Group (chins) Apndice Histria e Roteiro Licena Envergadura links JaQu MVStore
Esta uma aplicao cliente / servidor, portanto, um servidor e um cliente (um navegador) so necessrios para execut-lo. Dependendo da sua plataforma e ambiente, existem vrias maneiras de iniciar o H2 Console: OS Comear
Windows Clique no boto [Iniciar], [Todos os programas], [H2] e [H2 Console (Command Line)] Um cone ser adicionado bandeja do sistema: Se voc no obter a janela eo cone da bandeja do sistema, ento talvez Java no est instalado corretamente (neste caso, tente outra maneira de iniciar o aplicativo). Uma janela do navegador deve abrir e apontar para a pgina de login na http://localhost:8082 . Windows Abra um navegador de arquivos, navegue at h2/bin E clique duas vezes em h2.bat . Aparece uma janela de console. Se houver um problema, voc vai ver uma mensagem de erro nesta janela. Uma janela do navegador ser aberta e apontar para a pgina de login (URL: http://localhost:8082 ). Qualquer D um duplo clique sobre o h2*.jar arquivo. Isso s funciona se o .jar sufixo est associada com Java.
www.h2database.com/html/tutorial.html#fulltext
1/18
25/10/13
Tutorial
associada com Java. Qualquer Abra uma janela do console, navegue at o diretrio h2/bin E digite: java -jar h2*.jar
Firewall
Se voc iniciar o servidor, voc pode receber um aviso de segurana do firewall (se tiver instalado um). Se voc no quer que outros computadores na rede para acessar o aplicativo em sua mquina, voc pode deixar o firewall bloquear essas ligaes. A conexo da mquina local ainda funcionar. S se voc quiser outros computadores para acessar o banco de dados no computador, voc precisa permitir conexes remotas no firewall. Tem sido relatado que, ao usar o Kaspersky 7.0 com firewall, o Console de H2 muito lento ao ligar sobre o endereo IP. A soluo conectar usando 'localhost'. Um pequeno firewall j est embutido no servidor: outros computadores podem se conectar ao servidor por padro. Para mudar isso, v em "Preferncias" e selecione "Permitir conexes de outros computadores".
Teste Java
Para descobrir qual verso do Java est instalado, abra um prompt de comando e digite: java -version Se voc receber uma mensagem de erro, voc pode precisar adicionar o diretrio binrio Java para a varivel de ambiente do caminho.
Login
Na pgina de login, voc precisa fornecer informaes de conexo para se conectar a um banco de dados. Defina a classe do driver JDBC do seu banco de dados, JDBC URL, nome de usurio e senha. Se voc estiver pronto, clique em [Connect]. Voc pode salvar e reutilizar as configuraes salvas anteriormente. As configuraes so armazenadas em um arquivo de propriedades (veja Configuraes do Console H2 ).
Mensagens de erro
www.h2database.com/html/tutorial.html#fulltext 2/18
25/10/13
Mensagens de erro
Tutorial
Mensagens de erro no so mostrados em vermelho. Voc pode exibir / ocultar o rastreamento de pilha de exceo, clicando na mensagem.
Utilizando a consola de H2
A aplicao H2 Console tem trs painis principais: a barra de ferramentas no topo, a rvore esquerda, eo painel de consulta / resultado direita. Os objetos de banco de dados (por exemplo, tabelas) esto listados na esquerda. Digite um comando SQL no painel de consulta e clique em [Run]. O resultado aparece logo abaixo do comando.
@generated insert into test() values(); Mostrar o resultado de Statement.getGeneratedKeys() . @history; @info; Listar o histrico de comandos. Exibir o resultado de vrios Connection e DatabaseMetaData mtodos.
3/18
www.h2database.com/html/tutorial.html#fulltext
25/10/13
Tutorial
@list select * from test; @loop 1000 select ?, ?/*rnd*/; @loop 1000 @statement select ?;
Mostrar o conjunto de resultados em formato de lista (cada coluna em sua prpria linha, com nmeros de linha). Execute a instruo isso muitas vezes. Parmetros ( ? ) So definidas usando um loop de 0 at x - 1. Os valores aleatrios so utilizados para cada ?/*rnd*/ . Um objeto Statement utilizado em vez de um PreparedStatement se @statement usado. Os conjuntos de resultados so lidos at ResultSet.next() retornos false . Informao de tempo impresso. Defina o nmero mximo de linhas para mostrar. Mostra a memria utilizada e livre. Isso vai chamar System.gc() . Liste o ResultSetMetaData aps a execuo da consulta. Ver o resultado da PreparedStatement.getParameterMetaData() chamadas. A declarao no executado. Iniciar / parar a ferramenta de profiling built-in. O top 3 rastreamentos de pilha da declarao (s) entre o incio e parada so listados (se houver 3). Latncia para um nmero de segundos. Usado para o perfil de uma consulta de longa durao ou a operao que est sendo executado em outra sesso (mas no mesmo processo). Mostrar (sem parmetros) ou mudana (com parmetros 1, 2, 4, 8), o nvel de isolamento da transao.
@prof_start; call hash('SHA256', '', 1000000); @prof_stop; @prof_start; @sleep 10; @prof_stop; @transaction_isolation; @transaction_isolation 2;
Configuraes do H2 Console
As configuraes do Console H2 so armazenados em um arquivo de configurao chamado .h2.server.properties em voc diretrio home do usurio. Para instalaes do Windows, o diretrio home do usurio geralmente C:\Documents and Settings\[username] ou C:\Users\[username] . O arquivo de configurao contm as configuraes do aplicativo e criado automaticamente quando o Console H2 iniciado pela primeira vez. As definies suportadas so: webAllowOthers : Permitir que outros computadores se conectem. webPort : A porta do H2 Console webSSL : Usar conexes criptografadas (HTTPS). Alm dessas configuraes, as propriedades de a ltima ligao recentemente utilizadas so listadas na forma <number>=<name>|<driver>|<url>|<user> usando o caractere de escape \ . Exemplo: 1=Generic H2 (Embedded)|org.h2.Driver|jdbc\:h2\:~/test|sa
www.h2database.com/html/tutorial.html#fulltext
4/18
25/10/13
Tutorial
parmetro na getConnection() chamada o nome de usurio ( sa para o administrador do sistema, neste exemplo). O terceiro parmetro a senha. Neste banco de dados, nomes de usurio no so case sensitive, mas as senhas so.
Utilizao do servidor
H2 atualmente suporta trs servidores: um servidor web (para o H2 Console), um servidor TCP (para conexes de cliente / servidor) e um servidor de PG (para clientes do PostgreSQL). Por favor, note que apenas o servidor web suporta conexes navegador. Os servidores pode ser iniciado de maneiras diferentes, uma est a utilizar o Server ferramenta. Iniciando o servidor no abrir um banco de dados bases de dados so abertos assim que um cliente se conecta.
25/10/13
Tutorial
org.h2.tools.Server.shutdownTcpServer("tcp://localhost:9094"); Esta funo s ir parar o servidor TCP. Se outro servidor foram iniciados no mesmo processo, eles vo continuar a correr. Para evitar a recuperao, quando os bancos de dados so abertos na prxima vez, todas as conexes com os bancos de dados devem ser fechados antes de chamar esse mtodo. Para parar um servidor remoto, conexes remotas deve estar habilitado no servidor. Desligar um servidor TCP podem ser protegidas usando a opo -tcpPassword (A mesma senha deve ser utilizado para iniciar e parar o servidor TCP).
Usando Hibernate
Este banco de dados suporta Hibernate verso 3.1 e mais recentes. Voc pode usar o dialeto HSQLDB, ou o dialeto nativo H2. Infelizmente, o dialeto H2 includo em algumas verses antigas do Hibernate foi buggy. Um patch para o Hibernate foi enviado e agora aplicado. Voc pode renome-lo para H2Dialect.java e incluir esta como uma mancha em seu aplicativo, ou atualizar para uma verso do Hibernate que isso seja corrigido. Ao usar o Hibernate, tente usar o H2Dialect se possvel. Quando se utiliza o H2Dialect , Tais como os modos de compatibilidade MODE=MySQL no so suportados. Quando usar o modo essa compatibilidade, use o dialeto do Hibernate para o banco de dados correspondente, em vez do H2Dialect , Mas por favor note H2 no suporta todas as caractersticas de todos os bancos de dados.
Usando EclipseLink
Para usar o H2 em EclipseLink, use a classe plataforma org.eclipse.persistence.platform.database.H2Platform . Se essa plataforma no est disponvel na sua verso do EclipseLink, voc pode usar o OraclePlatform vez, em muitos casos. Veja tambm H2Platform .
25/10/13
Tutorial
O projeto H2 Suporte de Banco de Dados para o NetBeans permite iniciar e parar o servidor de H2 a partir do IDE. H um problema conhecido pelo uso da janela de execuo do Netbeans SQL: antes de executar uma consulta, outra consulta na forma SELECT COUNT(*) FROM <query> executado. Isto um problema para consultas que modificam o estado, como o SELECT SEQ.NEXTVAL . Neste caso, dois valores de sequncia so atribudos, em vez de apenas um.
Modo embutido
www.h2database.com/html/tutorial.html#fulltext 7/18
25/10/13
Modo embutido
Tutorial
O (atualmente) soluo mais simples usar o banco de dados no modo integrado, o que significa abrir uma conexo em seu aplicativo quando ele comea (uma boa soluo usar um Listener Servlet, veja abaixo), ou quando a sesso iniciada. Um banco de dados pode ser acessado a partir de vrias sesses e aplicativos ao mesmo tempo, contanto que eles correm no mesmo processo. Containers mais Servlet (por exemplo Tomcat) esto apenas usando um processo, de modo que este no um problema (a menos que voc executar Tomcat no modo cluster). Tomcat usa vrios segmentos e vrios carregadores de classe. Se vrios aplicativos acessem o mesmo banco de dados, ao mesmo tempo, voc precisa colocar o jar do banco de dados no shared/lib ou server/lib diretrio. uma boa idia para abrir o banco de dados quando a aplicao web comea, e fech-la quando a aplicao web pra. Se usar vrias aplicaes, apenas uma (qualquer) deles precisa fazer isso. No aplicativo, uma idia usar uma conexo por sesso, ou at mesmo uma conexo por pedido (ao). Essas conexes devem ser fechadas aps o uso, se possvel (mas no to ruim se eles no ficam fechadas).
Modo de servidor
O modo de servidor semelhante, mas permite que voc execute o servidor em outro processo.
Connection conn = getServletContext().getAttribute("connection"); DbStarter Tambm possvel iniciar o servidor TCP, no entanto, este desativado por padro. Para ativ-lo, use o parmetro db.tcpServer no arquivo web.xml . Aqui est a lista completa de opes. Estas opes devem ser colocados entre o description tag eo listener / filter tags: <context-param> <param-name>db.url</param-name> <param-value>jdbc:h2:~/test</param-value> </context-param> <context-param> <param-name>db.user</param-name> <param-value>sa</param-value> </context-param> <context-param> <param-name>db.password</param-name> <param-value>sa</param-value> </context-param> <context-param> <param-name>db.tcpServer</param-name> <param-value>-tcpAllowOthers</param-value> </context-param> Quando o aplicativo web interrompido, a conexo do banco de dados ser fechada automaticamente. Se o servidor TCP iniciado dentro do DbStarter , Que tambm ir ser interrompido automaticamente.
www.h2database.com/html/tutorial.html#fulltext
8/18
25/10/13
Tutorial
<servlet> <servlet-name>H2Console</servlet-name> <servlet-class>org.h2.server.web.WebServlet</servlet-class> <!-<init-param> <param-name>webAllowOthers</param-name> <param-value></param-value> </init-param> <init-param> <param-name>trace</param-name> <param-value></param-value> </init-param> --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>H2Console</servlet-name> <url-pattern>/console/*</url-pattern> </servlet-mapping> Para mais detalhes, veja tambm src/tools/WEB-INF/web.xml . Para criar um aplicativo web com apenas o Console H2, execute o seguinte comando: build warConsole
Andride
Voc pode usar esse banco de dados em um dispositivo Android (usando o Dalvik VM) em vez de ou alm do SQLite. At agora, apenas poucos testes e benchmarks foram executados, mas parece que o desempenho semelhante ao SQLite, exceto para abertura e fechamento de um banco de dados, que ainda no otimizada de H2 (H2 leva cerca de 0,2 segundo, e SQLite cerca de 0,02 segundos) . As operaes de leitura parece ser um pouco mais rpido do que SQLite, e as operaes de gravao parece ser mais lento. At agora, apenas poucos testes foram executados, e tudo parece funcionar como esperado. Pesquisa de texto completo ainda no foi testado, no entanto, a pesquisa de texto completo nativa deve funcionar. Razes para usar H2 em vez de SQLite so: Unicode suporte completo, incluindo UPPER () e menor (). Transmisso API para BLOB e CLOB dados. Pesquisa de texto completo. Mltiplas conexes. Funes e gatilhos definidos pelo usurio. Criptografia de arquivos de banco de dados. Leitura e escrita de arquivos CSV (este recurso pode ser usado fora do banco de dados tambm). A integridade referencial e restries de verificao. Melhor tipo de dados e suporte SQL. Bases de dados em memria, de dados somente leitura, tabelas vinculadas. Melhor compatibilidade com outros bancos de dados que simplifica portar aplicativos. Possivelmente o melhor desempenho (at agora para operaes de leitura). Modo Server (acessando um banco de dados em uma mquina diferente sobre TCP / IP). Atualmente, apenas a API JDBC suportado ( planejado para suportar a API de banco de dados Android em verses futuras). Tanto o arquivo jar H2 regular eo menor h2small-*.jar podem ser usados. Para criar o arquivo jar menor, execute o comando ./build.sh jarSmall (Linux / Mac OS) ou build.bat jarSmall (Windows). Os arquivos de banco de dados precisam ser armazenados em um local que acessvel para a aplicao. Exemplo: String url = "jdbc:h2:/data/data/" + "com.example.hello" + "/data/hello" + ";FILE_LOCK=FS" + ";PAGE_SIZE=1024" +
www.h2database.com/html/tutorial.html#fulltext
9/18
25/10/13
Tutorial
";PAGE_SIZE=1024" + ";CACHE_SIZE=8192"; Class.forName("org.h2.Driver"); conn = DriverManager.getConnection(url); ... Limitaes: Usando um pool de conexo no suportada atualmente, porque o requerido javax.sql. classes no esto disponveis no Android.
25/10/13
Tutorial
possvel ler um arquivo CSV sem abrir um banco de dados. Exemplo: import java.sql.*; import org.h2.tools.Csv; public class TestCsv { public static void main(String[] args) throws Exception { ResultSet rs = new Csv().read("data/test.csv", null, null); ResultSetMetaData meta = rs.getMetaData(); while (rs.next()) { for (int i = 0; i < meta.getColumnCount(); i++) { System.out.println( meta.getColumnLabel(i + 1) + ": " + rs.getString(i + 1)); } System.out.println(); } rs.close(); } }
Online Backup
O BACKUP Instruo SQL eo Backup ferramenta tanto para criar um arquivo zip com o arquivo de banco de dados. No entanto, o contedo deste arquivo no legvel. O backup resultante transacional consistente, ou seja, a consistncia e atomicidade regras se aplicam. BACKUP TO 'backup.zip'
www.h2database.com/html/tutorial.html#fulltext 11/18
25/10/13
BACKUP TO 'backup.zip'
Tutorial
O Backup ferramenta ( org.h2.tools.Backup ) No pode ser usado para criar uma cpia de segurana em linha, a base de dados no deve estar em uso durante a execuo deste programa. Criando um backup, copiando os arquivos de banco de dados enquanto o banco de dados est sendo executado no suportado, salvo se os sistemas de arquivos suportam a criao de snapshots. Com outros sistemas de arquivos, no possvel garantir que os dados so copiados na ordem certa.
A ferramenta de Shell
A ferramenta Shell uma ferramenta de linha de comando interativo simples. Para inici-lo, digite: java -cp h2*.jar org.h2.tools.Shell Voc ser solicitado para uma URL do banco de dados, driver JDBC, nome de usurio e senha. A configurao de conexo tambm pode ser definido como parmetros de linha de comando. Depois de conectar, voc ter a lista de opes. Os comandos built-in no precisa terminar com um ponto e vrgula, mas instrues SQL so executados somente se a linha termina com um ponto e vrgula ; . Isto permite inserir instrues multi-linha: sql> select * from test ...> where id = 0; Por padro, os resultados so impressos como uma tabela. Para obter resultados com muitos coluna, considere usar o modo de lista: sql> list Result list mode is now on sql> select * from test; ID : 1 NAME: Hello ID : 2 NAME: World (2 rows, 0 ms)
OpenOffice.org Base de dados de suporte ao acesso de banco de dados sobre a API JDBC. Para se
12/18
25/10/13
Tutorial
OpenOffice.org Base de dados de suporte ao acesso de banco de dados sobre a API JDBC. Para se conectar a um banco de dados H2 usando Base de OpenOffice, primeiro voc precisa adicionar o driver JDBC para o OpenOffice. Os passos para se conectar a um banco de dados H2 so: Comece OpenOffice Writer, v para [Ferramentas], [Opes] Certifique-se de ter selecionado um ambiente de execuo Java no OpenOffice.org / Java Clique [Caminho Classe ...], [Adicionar Arquivo ...] Selecione o arquivo jar h2 (localizao com voc, pode ser onde quer que voc escolher) Clique em [OK] (tanto quanto necessrio), parar OpenOffice (incluindo a inicializao rpida) Comece Base de OpenOffice Conectar a um banco de dados existente, selecione [JDBC], [Next] Exemplo de fonte de dados URL: jdbc:h2:~/test Classe do driver JDBC: org.h2.Driver Agora voc pode acessar o banco de dados armazenados no diretrio home do usurio atual. Para usar o H2 em NeoOffice (OpenOffice sem X11): Em NeoOffice, v para [NeoOffice], [Preferncias] Procure a pgina em [NeoOffice], [Java] Clique [Caminho Classe], [Adicionar Arquivo ...] Selecione o arquivo jar h2 (localizao com voc, pode ser onde quer que voc escolher) Clique em [OK] (tanto quanto necessrio), reinicie o NeoOffice. Agora, quando a criao de um novo banco de dados usando o "Assistente de Banco de Dados": Clique em [File], [New], [banco de dados]. Selecione [Conectar ao banco de dados existente] e selecione [JDBC]. Clique ao lado. Exemplo de fonte de dados URL: jdbc:h2:~/test Classe do driver JDBC: org.h2.Driver Outra soluo para usar em H2 NeoOffice : Empacotar o frasco h2 dentro de um pacote de extenso Instale-o como uma extenso de Java no NeoOffice Isso pode ser feito por cri-lo usando o plugin do OpenOffice NetBeans. Veja tambm Desenvolvimento Extensions .
25/10/13
JdbcConnectionPool cp = JdbcConnectionPool.create( "jdbc:h2:~/test", "sa", "sa"); for (int i = 0; i < args.length; i++) { Connection conn = cp.getConnection(); conn.createStatement().execute(args[i]); conn.close(); } cp.dispose(); } }
Tutorial
25/10/13
Tutorial
CREATE ALIAS IF NOT EXISTS FTL_INIT FOR "org.h2.fulltext.FullTextLucene.init"; CALL FTL_INIT(); Voc precisa inicializar em cada banco de dados em que voc deseja us-lo. Depois, voc pode criar um ndice de texto completo de uma tabela usando: CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR); INSERT INTO TEST VALUES(1, 'Hello World'); CALL FTL_CREATE_INDEX('PUBLIC', 'TEST', NULL); PBLICO o nome do esquema, teste o nome da tabela. A lista de nomes de colunas (separados por vrgula) opcional, neste caso, todas as colunas so indexadas. O ndice atualizado em tempo real. Para procurar o ndice, use a seguinte consulta: SELECT * FROM FTL_SEARCH('Hello', 0, 0); Isto ir produzir um conjunto de resultados de consulta que contm o necessrio para recuperar os dados: QUERY: "PUBLIC"."TEST" WHERE "ID"=1 Para excluir um ndice em uma tabela (ser avisado de que isso ir reindexar todos os ndices de texto completo para todo o banco de dados): CALL FTL_DROP_INDEX('PUBLIC', 'TEST'); Para obter os dados brutos, use FTL_SEARCH_DATA('Hello', 0, 0); . O resultado contm as colunas SCHEMA (O nome do esquema) TABLE (O nome da tabela), COLUMNS (Uma matriz de nomes de colunas) e KEYS (Uma matriz de objetos). Para participar de uma tabela, use uma juno como em: SELECT T.* FROM FTL_SEARCH_DATA('Hello', 0, 0) FT, TEST T WHERE FT.TABLE='TEST' AND T.ID=FT.KEYS[0]; Voc tambm pode ligar para o ndice de dentro de uma aplicao Java: org.h2.fulltext.FullTextLucene.search(conn, text, limit, offset); org.h2.fulltext.FullTextLucene.searchData(conn, text, limit, offset); A busca Lucene suporta a pesquisa de texto completo em apenas coluna especfica. Os nomes das colunas deve ser maiscula (exceto se as colunas originais so o dobro citado). Para os nomes das colunas que comeam com um sublinhado (_), outro sublinhado precisa ser adicionado. Exemplo: CREATE ALIAS IF NOT EXISTS FTL_INIT FOR "org.h2.fulltext.FullTextLucene.init"; CALL FTL_INIT(); DROP TABLE IF EXISTS TEST; CREATE TABLE TEST(ID INT PRIMARY KEY, FIRST_NAME VARCHAR, LAST_NAME VARCHAR); CALL FTL_CREATE_INDEX('PUBLIC', 'TEST', NULL); INSERT INTO TEST VALUES(1, 'John', 'Wayne'); INSERT INTO TEST VALUES(2, 'Elton', 'John'); SELECT * FROM FTL_SEARCH_DATA('John', 0, 0); SELECT * FROM FTL_SEARCH_DATA('LAST_NAME:John', 0, 0); CALL FTL_DROP_ALL(); A implementao de busca Lucene texto completo no est sincronizada internamente. Se voc atualizar o banco de dados e consultar a pesquisa de texto completo ao mesmo tempo (diretamente usando a API Java de H2 ou a prpria Lucene), voc precisa garantir que as operaes so devidamente sincronizados. Se este no o caso, voc pode ter excees, como org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed .
25/10/13
Tutorial
SET @USER = 'Joe'; O valor tambm pode ser alterado usando o mtodo set (). Isso til em consultas: SET @TOTAL = NULL; SELECT X, SET(@TOTAL, IFNULL(@TOTAL, 1.) * X) F FROM SYSTEM_RANGE(1, 50); Variveis que no so definidas para avaliar NULL . O tipo de uma varivel definida pelo usurio de dados o tipo do valor que lhe atribudo de dados, o que significa que no necessrio (ou possvel) para declarar nomes de variveis antes de us-los. No h restries sobre os valores atribudos; objetos grandes (LOB) so suportados tambm. Revertendo uma transao no afeta o valor de uma varivel definida pelo usurio.
Data e Hora
Valores de data, hora e timestamp apoiar a formatao ISO 8601, incluindo o fuso horrio: CALL TIMESTAMP '2008-01-01 12:00:00+01:00'; Se o fuso horrio no est definido, o valor analisado usando a configurao de fuso horrio atual do sistema. Data e hora a informao armazenada em arquivos de banco de dados H2, sem informaes de fuso horrio. Se o banco de dados aberto usando um outro fuso horrio do sistema, a data eo horrio ser o mesmo. Isso significa que se voc armazenar o valor '2000-01-01 00:00:00 'em um fuso horrio, em seguida, feche o banco de dados e abrir o banco de dados novamente em um fuso horrio diferente, voc tambm ir receber '2000-01-01 dezembro : 00:00 '. Por favor, note que a mudana do fuso horrio aps o motorista H2 carregado no suportado.
Usando Spring
Usando o servidor TCP
Use a seguinte configurao para iniciar e parar o servidor TCP H2 usando o Spring Framework: <bean id = "org.h2.tools.Server" class="org.h2.tools.Server" factory-method="createTcpServer" init-method="start" destroy-method="stop"> <constructor-arg value="-tcp,-tcpAllowOthers,-tcpPort,8043" /> </bean> O destroy-method ir ajudar a evitar excees em hot-reafectao ou quando reiniciar o servidor.
25/10/13
</property> <property name="duplicateKeyCodes"> <value>23001,23505</value> </property> <property name="dataIntegrityViolationCodes"> <value>22003,22012,22025,23000</value> </property> <property name="dataAccessResourceFailureCodes"> <value>90046,90100,90117,90121,90126</value> </property> <property name="cannotAcquireLockCodes"> <value>50200</value> </property> </bean> </beans>
Tutorial
OSGi
O frasco H2 padro pode ser descartado como um pacote em um continer OSGi. H2 implementa o Servio JDBC definido no OSGi Servio Platform Release 4 Verso 4.2 Especificao da empresa. O H2 servio Fbrica de fonte de dados registrado com as seguintes propriedades: OSGI_JDBC_DRIVER_CLASS=org.h2.Driver e OSGI_JDBC_DRIVER_NAME=H2 . O OSGI_JDBC_DRIVER_VERSION propriedade reflete a verso do motorista como . As seguintes propriedades de configurao padro so suportados: JDBC_USER, JDBC_PASSWORD, JDBC_DESCRIPTION, JDBC_DATASOURCE_NAME, JDBC_NETWORK_PROTOCOL, JDBC_URL, JDBC_SERVER_NAME, JDBC_PORT_NUMBER . Qualquer outra propriedade padro sero rejeitados. Propriedades no-padro sero repassados para H2 na URL de conexo.
25/10/13
JVM.
Tutorial
www.h2database.com/html/tutorial.html#fulltext
18/18