- Início e como usar o Console H2 A aplicação do Console H2 permite acessar um banco de dados usando um navegador.

Pode ser um banco de dados H2, ou outro banco de dados que suporta a API JDBC. Esta é uma aplicação cliente / servidor, portanto, um servidor e um cliente (um browse r) são necessários para executá-lo. - Dependendo da sua plataforma e ambiente, existem várias maneiras para iniciar o Console H2: Windows: Clique em [Iniciar], [Todos os programas], [H2] e [H2 Console (Command Line)]. Ao usar o Sun JDK 1.5, uma janela com "Console H2" o título deve aparecer . Ao usar o Sun JDK 1.6, um ícone será adicionado à bandeja do sistema: Se você não obter a janela e o ícone da bandeja do sistema, então talvez o Java não esteja instalado corretamente (neste caso, tente outra maneira de iniciar a a plicação). A janela do navegador deve abrir e "apontar" para a página de login em ht tp://localhost:8082. Windows: Abra um navegador de arquivos, navegue até h2/bin, e dê um duplo clique no h2.bat. A janela do console aparece. Se houver um problema, você verá uma mensagem de erro nesta janela. A janela do navegador será aberta e apontará para a página de login (URL: htt p://localhost:8082). Qualquer: Clique duas vezes no arquivo h2*.jar. Isso só funciona se a extensão .jar estiver associado com o Java. Qualquer: Abra uma janela do console, navegue até o diretório h2/bin e digite: java -jar h2*.jar - Firewall Se você iniciar o servidor, você pode receber um aviso de segurança do firewall (se vo cê tiver instalado um). Se você não quer que outros computadores na rede tenham acesso ao aplicativo em sua máquina, você pode deixar o firewall bloquear essas ligações. A conexão da máquina local ainda funcionará. Se você deseja que outros computadores tenh am acesso ao banco de dados no computador, você precisa permitir conexões remotas no firewall. Tem sido relatado que, ao usar o Kaspersky 7.0 com firewall, o Console de H2 é mui to lento quando conectado via o endereço IP. A solução é conectar usando 'localhost'. Um firewall pequeno já está embutido no servidor: outros computadores podem não se conectar ao servidor por padrão. Para mudar isso, vá a "Preferências" e selecione "Permitir conexões de outros computad ores. - Testes de Java Para saber qual versão do Java está instalado, abra um prompt de comando e digite: java-version

HSQLDB . Você pode salvar e reutilizar as configurações salvas anteriormente. geralmente.Se você receber uma mensagem de erro. As definições são armazenadas em um arquivo de propriedades (consulte Configurações do Con sole H2).Usando outro 'Port' Se a porta padrão do console H2 já está em uso por outro aplicativo..Mensagens de erro Mensagens de erro no são mostradas em vermelho. você pode precisar adicionar o diretório binário J ava para a variável de ambiente do caminho. . nome de usuário e senha. você precisa fornecer informações de conexão para se conectar a um ban co de dados.Várias sessões simultâneas Múltiplas sessões simultâneas pelo browser são suportados.2:8082. Se nenhuma porta for especificado para o TCP e servidores PG. em seguida. . PostgreSQL. Como os objetos do banco de dados residem no servidor. Se a porta padrão já está em uso. não é necessário por que o console suporta múltiplas co nexões simultâneas. a URL deve começar com https://. Se você deseja se conectar a aplicação de outro computador.. você terá a seguinte mensagem de erro: "O servidor Web não pôde ser iniciado. co nsulte Configurações do Console de H2. você precisa fornecer o endereço IP do servidor. adicion . Para mais detalhes. por ex emplo: http://192. caso contrário. a URL JDBC. As configurações são armazenadas em um arquivo de propriedades. O Javascript precisa estar habilitado. possível causa: um outro servidor já está e m execução .Conectando ao Servidor utilizando um Browser Se o servidor foi iniciado com êxito. . abra a URL http://localhost:8082. a quantidade de trabalho simultâneas é limitado pela memória disponível para o aplicativo do servidor. Defina a classe do driver JDBC de seu banco de dados.168. Você pode mostrar / esconder o rastr eamento da pilha de exceção. você pode se conectar a ele usando um navegado r web. A entrada é WebPort. . clicando sobre a mensagem. É possível iniciar vários aplicativos de console no mesmo computador (usando portas di ferentes). Se você estiver pronto. . .Login Na página de login. uma p orta diferente precisa ser configurada. cada serviço vai ten tar escutar em sua porta padrão. Se você iniciou o servidor no mesmo computa dor que o navegador.". mas isso.. .Mensagem de erro 'Port may be in use " Você pode iniciar apenas uma instância do Console H2.Adicionando drivers do banco de dados Para registrar drivers JDBC adicionais (MySQL... Se você ativou a SSL no lado do servidor. clique em [Connect].).0. uma porta aleatória é usada.

Exemplo (Windows): para adicionar o driver JDBC HSQLDB.properties no diretório do seu usuário. Se você não tem o ícone na bandeja do sistema.Usando o Console de H2 A aplicação Console H2 tem três painéis principais: a barra de ferramentas no topo. ou feche a janela do console. a "árvore" à esquerda. WebPort: a porta do Console H2. então eles trabalham com qualquer banco de dados. então SELECT * FROM .Desligar e interromper o aplicativo Para sair do banco de dados. defina o H2DRIVERS variável de ambiente para C: \ Programas \ hsqldb \ lib \ hsqldb. então a tabela TEST é expand ida. tabelas) são listados à esquerda. navegue até [Preferências] e clique em [Shu tdown]. pressione [Ctrl] + [C] no console. Esses são interpretados dentro do C onsole H2.Inserindo nomes de tabela ou coluna Para inserir os nomes das tabelas e colunas para o script. . o servidor ainda está funcionando e pronto para aceitar novas sessões. Em caso de dúvida. Vários drivers podem ser definidos. . é a dicionado.h 2. Para instalações do Windows. clique no item na "árvo re". onde o servidor foi iniciado (Windows ).e os nomes de arquivos jar para as variáveis ??do ambiente H2DRIVERS ou CLASSPATH. Se você clicar em uma tabela enquanto a consulta está vazia.Sintaxe Console especial H2 O H2 Console suporta alguns comandos internos. acrescentar antes do comando. clique em [Desligar] no painel de barra de ferramen tas. as entradas devem ser separadas por: (Windows) ou (outros sistemas operacionais). a tabela que foi usada é expandida na árvore. .. .Configurações do Console H2 As configurações do console de H2 são armazenados em um arquivo de configuração chamado . clique direito no ícone da bandeja do sistema e selecione [ Exit]. O resultado aparece logo abaixo do comando.. Digite um comando SQL no painel de consulta e clique em [Executar]. No entanto. Para parar o servidor.jar. Os objetos de banco de dados (por exemplo. Espaços nos nomes de caminho são suportados. . . caso contrário. O arquivo de configuração contém as configurações do aplicativo e é criado automaticamente uando o console de H2 é iniciado. e o painel de consulta / resultado à direita. Por exemplo se você digitar SELECT * FROM TEST T WHERE T. As configurações não devem ser citadas. o diretório do usuário geralmente é C: \ Documents and Settin gs \ [usuário]. eles não são analisados ??corretamente. C: \ Programas \ hsqldb \ lib \ hsqldb. Esses comandos precisam estar no início de uma declaração (antes de qualquer intervenção). As configurações suportadas são: webAllowOthers: permite que outros computadores se conectem. Ao digitar uma consulta.jar.server.

webSSL: usa conexões criptografadas (HTTPS). se o banco de dados especificado na URL ainda não existe.Criação de novos bancos de dados Por padrão. e então obter uma conexão. Connection conn = DriverManager.Driver". O terceiro parâmetro é a senha. Além dessas definições.. // add application code here conn.h2. "AS". Os servidores p odem ser iniciados de diferentes maneiras. . O usuário que criou o banco de dados automaticamente se torna o administrador do b anco de dados. jar org. um novo banco de dados (vazio) é criado automaticamente.Iniciando a Ferramenta Server na linha de comando Para iniciar a ferramenta Server da linha de comando com as configurações padrão.h2. A URL do banco de dados sempre precisa começar c om jdbc: h2: para ser reconhecido por este banco de dados. execute: java-cp h2 *. as propriedades da última conexão utilizada são listados na forma < umber> = <name> <driver> <url> <user> usando o caractere de escape \.tools.h2. getConnection("jdbc:h2:~/test". nomes de usuário não são case sensitive. .Driver"). Neste banco de dados.Server Isto irá iniciar a ferramenta com as opções padrão. } } Esse código primeiro carrega o driver (Class. O nome do driver é "org.Conectar a um banco de dados usando JDBC Para se conectar a um banco de dados. Para obter a lista de opções e valores adrão. Uma maneira simples de fazer isso é usando o seguinte código: import java.)) e então abre uma conexão ( usando DriverManager.. consulte Opening a Datab ase Only if it Already Exists (Abrindo um Banco de Dados somente se este existe) .close(). exec ute: java-cp h2 *. O segundo parâmetro na getConnection() é o nome de usuário (AS de Administrador do Sis tema. Exemplo: 1 = Generic H2 (Embedded) org. "Auto-criar" o novo banco de dados pode ser desativado.h2.Usando o Servidor H2 atualmente suporta três servidores: um servidor web (para o Console de H2).tools.Driver jdbc \: h2 \: ~ / teste A S .Server -? .h2. jar org. public class Test { public static void main(String[] a) throws Exception { Class. um aplicativo Java primeiro precisa carreg ar o driver de banco de dados. mas as senhas são. . "").*. Por favor note que apenas o servidor web browser suporta conexões. neste exemplo).sql.getConnection ()). um servidor TCP (para conexões cliente / servidor) e um servidor de PG (para clientes PostgreSQL). uma é usando a ferramenta Server.forName (.forName("org.

JdbcDataSource.h2.Usando TopLink e Glassfish Para usar o H2 com Glassfish (ou Sun AS). e iniciar ou não iniciar partes. Desligar um servidor TCP pode ser protegida usando a opção -tcpPassword (a mesma senha deve ser usado para iniciar e parar o servidor TCP).stop(). // stop the TCP Server server. defina o Classname Datasource para org . Infelizmente.h2.. Ao usar Hibernate.Driver Database URL: jdbc:h2:tcp://localhost/~/test Para mais detalhes sobre a URL do banco de dados. ..h2. Você pode definir isso no GUI em Application Server . . ou o H2Dialect. Vo cê só pode se conectar usando um cliente H2. .jdbcx.Utilizando Hibernate Este banco de dados suporta Hibernate versão 3.createTcpServer(args). conexões remotas devem estar habilitadas no servido r. note que você não pode conectar com um navegador da web para este URL.Server.shutdownTcpServer ("tcp: / / localhost: 9094"). Você pode renomeá-lo para H2 Dialect. toda s as ligações às bases de dados devem ser fechados antes de chamar esse método.tools.Connection Pools.Iniciando o Servidor TCP dentro de um aplicativo Servidores também pode ser iniciado e interrompido a partir de uma aplicação. onde este é fixo.start(). . quando as bases de dados forem abertos na próxima vez. .Parar um servidor TCP de outro processo O servidor TCP pode ser interrompido a partir de outro processo. ver também em "Recursos". .Recursos . Código de exemplo: import org. Por favor. Você pode usar o H SQLDBDialect. Um patch para o Hibernate foi enviada e agora é aplicado.Conectando ao Servidor TCP Para se conectar remotamente a um banco de dados usando o servidor TCP.Existem opções disponíveis para utilizar outras portas..h2. tentar usar o H2Dialect se possível. Se outros servidores foram iniciados no mesmo p rocesso. Para evitar a recuperação. modos de compatibilidade.JDBC . Para parar um servidor remoto.1 e mais recentes. Esta função só irá parar o servidor TCP.Server-tcpShutdown tcp: / / localhost: 9092 Para parar o servidor de uma aplicação do usuário. // start the TCP Server Server server = Server. eles vão continuar a executar.xml: no elemento de conexão jdbc-pool. use o seguinte código: org. como MODE = MySQL não são suportados.h2.tools..java e incluir esta como um patch em seu aplicativo. execute: java org. ou atualizar para u ma versão do Hibernate. . ou editando o arquivo sun-resources. Para parar o se rvidor a partir da linha de comando. Ao usar o H2Dialect. .Server. Ao usar esse modo de compatibilidade. use o se guinte driver e URL do banco de dados: JDBC driver class: org. use o HibernateDialect para o banco de dad os correspondente em vez do H2Dialect. o H2Dialect incluído em algumas versões antigas do Hibernate foi bugad o.tools.

No entanto. o que significa abrir uma conexão em seu aplicativo quando ele começa (uma boa solução é utiliz ar um Servlet Listener. veja abaixo). . o que mantém o regi sto de transações de encolhimento (faz com que o arquivo de banco de dados pare de c rescer).h2. . o nome da propriedade é toplink.apache. O problema é que o mecanismo de bloqueio padrão usa uma transação UPDATE não confirmada. Outra solução (mais perigosa) é definir useDat abaseLock para false. Se esta plataforma não está disponível na sua versão do EclipseLink.adapter.Modo embutido A solução mais simples (atualmente) é usar o banco de dados no modo incorporado.toplink. dois valores da sequência são atribuídos ao invés de apenas um.H2Platform.TransactDatabaseLocker". . use a classe da plataforma org. Para usá-lo. O código fonte desta plataforma está incluído no H2 em src/tools/oracle/toplink/essent ials/platform/database/DatabasePlatform.name . altere a seguinte configuração no persistence.jdbc.database.activemq.Usando bancos de dados em aplicativos da Web Existem várias maneiras de acessar um banco de dados de dentro de aplicações web.essentials. Para usar o H2 dentro Glassfish.Usando Apache ActiveMQ Quando utilizar H2 como banco de dados para o Apache ActiveMQ. ..platform. se você usar o Tomcat ou JBoss. FOR UPDATE que não é problemático.eclipse.platform.java..JdbcDataSource. mude a configuração do elemento ApacheMQ <jdbcPersistenceAdapter> databas eLocker = "org. Há um problema conhecido quando se utiliza o Netbeans SQL Execution Window: antes de executar uma consulta. por favor use o T ransactDatabaseLocker em vez de o mecanismo de bloqueio padrão.persistenc e. por favor não use o modo MVCC neste caso. Portanto. Você terá que copiar este arquivo para sua aplicação. Aqui estão alguns exemplos.defina o atributo datasource-classname para org. usando o modo de MVCC voltará a resultar no mesmo problema. Caso contrário o arquivo de banco de dados irá crescer sem limites. ou quando uma sessão é iniciada. e renomeá-lo para . Para habili tá-lo. o TransactDatabaseLocker utiliza SELECT .database.platform.target-database" value="oracle.txt. Veja também H2Platform. . como SEQ. Este é um problema para consultas que modificam o estado. você pode usar o Orac lePlatform vez em muitos casos. copie o h2 *.jdbcx. utilize o H2Platform.H2Platform"/> Em versões antigas do Glassfish.Utilizando H2 dentro NetBeans O projeto de Apoio H2 Database Engine Para NetBeans permite que você iniciar e par ar o servidor de H2 a partir do IDE.xml: <property name="toplink.NEXTVAL SELECT. O banco de dados H2 é compatível com HSQLDB e PostgreSQL.class. outra consulta na forma SELECT COUNT (*) FROM <query> é executado. Em vez de usar uma instrução UPDATE. Para tirar proveito dos re cursos H2 específico. Neste caso.java.store. . jar para o diretório glassfish / gl assfish / lib.Usando EclipseLink Para usar o H2 em EclipseLink.

se possível (mas não é assim tão mau se não for hado).tcpServer</param-name> <param-value>-tcpAllowOthers</param-value> </context-param> Quando o aplicativo web é interrompido. Aqui está a lista complet a de opções. você pode acessar da seguinte forma: Connection conn = getServletContext(). nome de usuário AS. mas permite que você execute o servidor em outro pr ocesso. Se você quiser usar essa conexão dentro do seu servlet. apenas um (qualquer) deles tem de fazer isso. Na aplicação.java.tcpServer no arquivo web. Para fazer isso. ele também será interrom pido automaticamente. consulte o arquivo DbSt arter. uma idéia é usar uma conexão por sessão. mas pod e ser usado como um servlet também.xml: <listener> <listener-class>org. .xml. Tomcat usa vários segmentos e classloaders múltiplas. de modo que este não é um problema (a menos que você execute no modo Tomcat em cluster).server. jar na sua aplicação. e adicione a seguin te configuração ao seu web. Para h abilitá-lo.url</param-name> <param-value>jdbc:h2:~/test</param-value> </context-param> <context-param> <param-name>db.password</param-name> <param-value>sa</param-value> </context-param> <context-param> <param-name>db. você precisa colocar o jar do banco de dado s no shared/lib ou server/lib.h2. Usando um Servlet Listener para iniciar e parar um banco de dados.Modo de servidor O modo de servidor é semelhante.web.DbStarter</listener-class> </listener> Para obter detalhes sobre como acessar o banco de dados. É uma boa idéia para abrir o banco de dados quando a aplicação web começa. e fechá-lo quand a aplicação web para. e a senha AS. a conexão do banco de dados será fechada autom aticamente. essa ferramenta abre uma conexão incorporada usando o banco de dados da URL jdbc: h2: ~ / teste. Adicione o arquivo h2*. Se usar várias aplicações.user</param-name> <param-value>sa</param-value> </context-param> <context-param> <param-name>db. use o parâmetro db. porém este é desativado por padrão. Se o servidor TCP é iniciado dentro do DbStarter.getAttribute("connection"). Estas opções devem ser colocadas entre a tag de descrição e as tags listener / filter: <context-param> <param-name>db. Se vários aplicativos acessarem o mesmo banco de dados ao mesmo tempo. contanto que eles corram no mesmo processo. Por padrão. e adicionar o seguinte trecho ao seu arquivo web.Usando o H2 Console Servlet O H2 Console é um aplicativo independente e inclui seu próprio servidor web. ou mesmo uma conexão por pedido (açã as conexões devem ser fechadas após o uso. A maioria dos servidores (Tomcat. jar para a sua aplicação web.xml: . . DbStarter também pode iniciar o servidor TCP. por exemplo) apenas usam um processo. inclua o arquivo do h2 *.Um banco de dados pode ser acessado de várias sessões e aplicativos ao mesmo tempo.

mas parece que o de sempenho é semelhante ao SQLite. apenas poucos testes e benchmarks foram executados.example.<servlet> <servlet-name>H2Console</servlet-name> <servlet-class>org. a pesquisa de texto nativo deve funcionar.Android Você pode usar esta base de dados em um dispositivo Android (usando o VM Dalvik) e m vez de. Para criar um aplicativo web com apenas o Console H2.web. execute o seguinte comando : build warConsole .Lendo um arquivo CSV de dentro de um banco de dados Um arquivo CSV pode ser lido usando o CSVREAD função. Exemplo: String url = "jdbc:h2:/data/data/" + "com..h2.getConnection(url). apenas poucos testes foram executados. e operações de gravação ecem ser mais lentas.server..FILE_LOCK=FS" + ". exceto para abrir e fechar um banco de dados.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 detalhes. conn = DriverManager. porque as classes jav ax.CACHE_SIZE=8192". . e tudo par ece funcionar como esperado. ou ele pode ser usado fora do banco de dados como uma fer ramenta autônoma. . Class.Driver").2 segundos. Os arquivos de banco de dados precisam ser armazenado em um lugar que seja acessív el para a aplicação. e SQLite cerca de 0. Até agora. no entanto. não estão disponíveis no Android.h2.Suporte CSV (Comma Separated Values) O suporte a arquivos CSV podem ser usados ??dentro do banco de dados usando as f unções CSVREAD e CSVWRITE. ou além do SQLite. .forName("org.sql necessárias.xml. Até agora. exemplo: . ver também src / tools / WEB-INF / web. 02 segundos).PAGE_SIZE=1024" + ". Operações de leitura parecem ser um pouco mais rápidas que SQLite. que ainda não está otimizado em H2 (H2 leva cerca de 0. Limitações: Usando uma connection pool não é suportada atualmente.hello" + "/data/hello" + ". Fulltext pesquisa ainda não foi testado.

println().addColumn("EMAIL". note por motivos de desempenho.tools. .csv". rs.sql.abc"). public class TestCsv { public static void main(String[] args) throws Exception { SimpleResultSet rs = new SimpleResultSet().getColumnCount(). Types. importe os primeiros dados (possivelmente em uma tabela tem porária).next()) { for (int i = 0.out. } System. 0). CREATE TABLE TEST AS SELECT * FROM CSVREAD('test. se necessário. CSVREAD não deve ser usado dentro de um JOIN.meier@abcde.abc"). exemplo: import java. 0). rs. import org.getString(i + 1)). i < meta.jones@abcde. null.h2.Escrevendo um arquivo CSV de dentro de um banco de dados A função CSVWRITE pode ser usada para criar um arquivo CSV a partir de uma consulta.getInstance().csv'). 255. Por favor. 'SELECT * FROM TEST'). } . import org.Escrevendo um arquivo CSV de um aplicativo Java A ferramenta CSV pode ser usado em um aplicativo Java. mesmo quando não estiver us ando um banco de dados.addRow("Bob Meier". rs. .getMetaData().. NAME VARCHAR(255)) AS SELECT * FROM CSVREAD('test.Lendo um arquivo CSV de um aplicativo Java É possível ler um arquivo CSV sem abrir um banco de dados.SimpleResultSet. rs. while (rs. os nomes das colunas e tipos de dados pode ser definido ao criar a tabela. CALL CSVWRITE('test.. 255. Em vez disso.getInstance(). public class TestCsv { public static void main(String[] args) throws Exception { ResultSet rs = Csv. exemplo: CREATE TABLE TEST(ID INT.h2. import org.println( meta. NAME VARCHAR).*. em seguida.VARCHAR.h2.csv'). (2.tools. SELECT. i++) { System. .addColumn("NAME". null). CREATE TABLE TEST(ID INT PRIMARY KEY. rs. consulta esta tabel a. "john.Csv.getColumnLabel(i + 1) + ": " + rs.*. 'World'). exemplo: import java. null).addRow("John Jones".SELECT * FROM CSVREAD ('test.VARCHAR.Csv. crie os índices necessários.out.csv'. Outra opção é usar INSERT INTO .sql. ResultSetMetaData meta = rs. e. Csv. 'Hello'). } } .csv'). INSERT INTO TEST VALUES(1. "bob.csv". Types.Importando dados de um arquivo CSV Uma maneira rápida para carregar ou importar dados (algumas vezes chamado de "carg a a granel") de um arquivo CSV é combinar com a criação da tabela de importação.tools. read("data/test. Opcionalm ente.write("data/test.

O problema é que não se pode garantir que os dados são copiados na ordem certa. enqu anto o banco de dados está em uso. Arquivos d e script SQL pode conter referências a outros arquivos de script. O backup pode s er feito remotamente. A maneira rec omendada de backup um banco de dados é criar um arquivo compactado script SQL.zip -options compression zip Também é possível usar o script de comando SQL para criar o backup do banco de dados. No entanto. salvo se os sistemas de arquivos suporta a criação de snapshots. Para mais informações sobre as opções. é p ossível copiar os arquivos de banco de dados.Ferramentas de Linha de Comando Esta base de dados vem com uma série de ferramentas de linha de comando. Para obte r mais informações sobre uma ferramenta.h2.h2. os arquivos de banco de dados não são legíveis e são bem grande. ao usar o modo de servidor. . Construído no servidor FTP pode ser usado para recuperar o arquivo do servidor.tools. consulte o script do comando SQL. No entanto.h2. Ist o pode ser feito usando a ferramenta Script: java org. Criando um backup para copiar os arquivos de banco de dados enquanto o banco de dados está sendo executado não é suportado. o banco de dados não deve estar em uso durante a execução deste programa. Co nstruído no servidor FTP pode ser usado para copiar o arquivo para o servidor. o arquivo precisa ser no lado do servidor.Restaurar a partir de um script Para restaurar um banco de dados de um arquivo de script SQL. No entanto. isso não é recomendado. iniciá-lo com o parâmetro'-?'.Script -url jdbc:h2:~/test -user sa -script test. o conteúdo deste arquivo não é legível. .Backup usando a ferramenta Script Existem maneiras diferentes de fazer backup de um banco de dados.jar org. e depois executar o script SQL usando o novo.tools. .tools. você pode usar a fer ramenta RunScript: java org.h2. Por exemplo. no entanto.Backup) não pode ser usado para criar um backup online.rs.Backup -? .close(). BACKUP TO 'backup. na forma de coma ndos RunScript.Upgrade. os arquivos de script referênciais precisa m estar disponíveis no lado do servidor.z ip -options compression zip Para mais informações sobre as opções. A cópia de segurança resultante é transacional consistente. Backup e restauração Upgrade do banco de dados A forma recomendada para atualizar de uma versão do banco de dados para a próxima ve rsão é a de criar um backup do banco de dados (na forma de um script SQL) usando o a ntigo. o arquivo será criado no lado do servidor.RunScript -url jdbc:h2:~/test -user sa -script test. } } . por exemplo: java -cp h2*. A restauração pode ser feita remotamente. no entanto. o que significa a consistênc ia e atomicidade regras se aplicam. consulte o RunScript comando SQL.zip' A ferramenta Backup (org.Backup on-line A instrução SQL ea ferramenta de Backup tanto criar um arquivo zip com todos os arqu ivos de banco de dados.tools. Também é possível usar o comando SQL RunScript para executar um script SQL. Além disso. .

Driver Outra solução para uso em H2 NeoOffice é: O pacote jar h2 dentro de um pacote de extensão Instalá-lo como uma extensão de Java no NeoOffice Isto pode ser feito por criá-lo usando o plugin NetBeans OpenOffice. reinicie o NeoOffice. Clique em Av ançar. poderia ser qualquer lugar que você es colher) Clique em [OK] (tanto quanto necessário). por exemplo.*. Ele é baseado no Mini Connection Manager Pool de Christian d'Heureuse.h2. [Next] Exemplo datasource URL: jdbc: h2: ~ / teste JDBC driver class: org. Ver também Exte nsions Development. Os passos para se conectar a um banco de dados H2 são: Iniciar o OpenOffice Writer. ao criar um novo banco de dados usando o "Database Wizard": Clique em [File]. usand o uma Connection Pool melhora o desempenho se você abrir e fechar conexões..org Base suporta o acesso de banco de dados sobre a API JDBC. [Java] Clique em [Path Class].jdbcx..JdbcConnectionPool.jar (localização é com você.sql. Selecione [Ligar para banco de dados existente] e selecione [JDBC]. Para usar o H2 em NeoOffice (OpenOffice sem X11): No NeoOffice..jar (localização é com você. Exemplo datasource URL: jdbc: h2: ~ / teste JDBC driver class: org. Para H2. import org. ma is complexos. [Adicionar Arquivo .Usando o OpenOffice Base OpenOffice. vá para [ferramentas]. o Apache Commons DBCP. é cerca de duas vezes mais rápido para obter uma conexão do con nection pool do que para obter um usando DriverManager.]. [Preferências] Olhe para a página em [NeoOffice].h2.] Selecione o arquivo h2. public class Test { public static void main(String[] args) throws Exception { .Driver Agora você pode acessar o banco de dados armazenado no diretório atual usuários doméstic os. Agora. [Novo].Usando uma Connection Pool Para H2.: import java. Uma Conn ection pool simples é incluído no H2. poderia ser qualquer lugar que você es colher) Clique em [OK] (tanto quanto necessário).h2.. . pare o OpenOffice (incluindo o Quickstar ter) Inicie Base OpenOffice Conecte a um banco de dados existente.. primeiro você precisa a dicionar o driver JDBC para o OpenOffice.. códigos abertos de connection pool disponíveis. [Adicionar Arquivo . Há outros.. Ainda assim.getConnection() O connect ion pool é usado como segue. Para se conectar a um banco de dados H2 usando o OpenOffice Base.org / Ja va Clique em [Path Classe . [Opções] Certifique-se de ter selecionado um ambiente de execução Java em OpenOffice. abrir uma conexão é rápido se o banco de dados já está aberto. vá para [NeoOffice]. [banco de dados]. selecione [JDBC].] Selecione o arquivo h2.

JdbcConnectionPool cp = JdbcConnectionPool.FullText. Há uma incompatibilidade com o JdbcTemplate Spring e versão H2 1. CALL FT_CREATE_INDEX('PUBLIC'.createStatement().org/schema/beans" xmlns:xsi="http://www. por causa de uma mudança no código de erro.h2.xsd" . TEST é o nome da tabela. você pode criar um índice de texto completo para uma tabela usando: CREATE TABLE TEST(ID INT PRIMARY KEY.close(). use a seguinte consulta: SELECT * FROM FT_SEARCH('Hello'. 0). offset).Server" class="org.fulltext. e o utro (a implementação nativa) armazena os dados do índice em tabelas especiais no banc o de dados.dispose(). O índice é atuali zado em tempo real. conn.tools.w3.length. 'TEST'.h2. Para pesquisar o índice. 'Hello World'). Para inicializar. chame: CREATE ALIAS IF NOT EXISTS FT_INIT FOR "org. i < args.utilizando Spring Usando o Servidor TCP Use a seguinte configuração para iniciar e parar o H2 servidor TCP usando o Spring F ramework: <bean id = "org. limit.Pesquisa de texto completo H2 inclui duas implementações de pesquisa de texto. limit. 0.h2.154 e mais recent e.searchData(conn. for (int i = 0. } } .fulltext. todas as colunas são indexadas.-tcpAllowOthers.springframework.true.Server" factory-method="createTcpServer" init-method="start" destroy-method="stop"> <constructor-arg value="-tcp.springframework.fulltext. Ver também a issue SPR-8235.execute(args[i]). Isso irá produzir um conjunto de resultados que contém a consulta necessários para rec uperar os dados: QUERY: "PUBLIC".org/schema/beans http://www.getConnection().org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www. e assim uma DataIntegrityViolationException é jog ado em vez de DuplicateKeyException.search(conn. Uma está usando Apache Lucene. INSERT INTO TEST VALUES(1."TEST" WHERE "ID"=1 Você também pode chamar o índice de dentro de um aplicativo Java: org.8043" /> </bean> O método de destroy-method ajuda a evitar exceções em quando reiniciar o servidor.FullText. text. .h2. Depois. offset). Você precisa inicializá-lo em cada banco de dados onde você quer usá-lo. org. Isso fará com que o JdbcTemplate não dete cte uma condição de chave duplicada. } cp.create( "jdbc:h2:~/test". PUBLIC é o nome do esquema. NULL).springframework.h2. text. "sa"). neste caso. NAME VARCHAR).-tcpPort.init".tools. A solução é adicionar o seguinte arquivo XML na raiz do cla sspath: <beans xmlns="http://www. CALL FT_INIT(). A lista de nomes de colunas (co luna separada) é opcional.FullText.org/schema/beans/spring-beans.3. conn. i++) { Connection conn = cp. "sa".

jdbc.> <import resource="classpath:org/springframework/jdbc/support/sql-error-codes .SQLErrorCodes"> <property name="badSqlGrammarCodes"> <value> 42000.23505</value> </property> <property name="dataIntegrityViolationCodes"> <value>22003.42121.42111.42122.xml"/> <bean id = "H2" class="org.90117.42101.42102.23000</value> </property> <property name="dataAccessResourceFailureCodes"> <value>90046.90121.42112.22012.support.42132 </value> </property> <property name="duplicateKeyCodes"> <value>23001.90100.22025.90126</value> </property> <property name="cannotAcquireLockCodes"> <value>50200</value> </property> </bean> </beans> .42001.springframework.

Sign up to vote on this title
UsefulNot useful