Pergunta

Na documentação do HSQLDB é uma instrução LINHA DE COMANDO para iniciar um servidor HSQLDB (HSQLDB Doc). Mas existe esta propriedade "Arquivo: MyDB", então presumo que não esteja no modo somente de memória.

Como faço para executar um servidor HSQLDB somente de memória?

Eu corri o seguinte, mas não tenho idéia.

java -cp ../lib/hsqldb.jar org.hsqldb.Server -?
Foi útil?

Solução

usar java -cp .\hsqldb-1.8.0.10.jar org.hsqldb.Server -database.0 mem:aname

No modo de memória, é especificado pelo URL da conexão - por isso mem Protocolo - ou se você estiver usando o HSQLDB em outro aplicativo que permite especificar o URL de conexão como JDBC, especifique jdbc:hsqldb:mem:aname.

Outras dicas

Demorou cerca de 2 dias para eu descobrir como iniciar um servidor na memória e depois acessar de fora. Espero que isso economize o tempo de alguém.

Server server = new Server();
server.setDatabaseName(0, "mainDb");
server.setDatabasePath(0, "mem:mainDb");
server.setDatabaseName(1, "standbyDb");
server.setDatabasePath(1, "mem:standbyDb");
server.setPort(9001); // this is the default port
server.start();

Quando você precisa acessar o banco de dados na memória para qualquer crud, aqui está o que você precisa fazer:-

String url="jdbc:hsqldb:hsql://192.168.5.1:9001/mainDb";
Class.forName("org.hsqldb.jdbc.JDBCDriver");
Connection conn = DriverManager.getConnection(url, "SA", "");

onde 192.168.5.1 é o IP do servidor em que o HSQL está em execução. Para conectar -se ao standbydb, substitua o MaiDB pelo standbydb na primeira linha. Depois de obter a conexão, você pode executar todas as operações relacionadas ao banco de dados.

Para conectar -se ao servidor a partir do controle remoto usando o Databasemanagerswing, aqui está o que você precisa fazer.

Faça o download do Jar HSQLDB-XXX e copie-o para uma pasta (xxx é a versão) Abra um terminal ou prompt de comando e CD para a pasta e execute

java -cp hsqldb-x.x.x.jar org.hsqldb.util.DatabaseManagerSwing

Selecione "Servidor de mecanismo de banco de dados HSQL" do tipo de suspensão do tipo "JDBC: HSQLDB: HSQL: //192.168.5.1: 9001/mantDB" como o URL. Isso o conectará à instância do servidor in-memory remoto HSQL.

Codificação feliz !!
DBManagerswing Ui

Acredito que o arquivo é usado para carregar o banco de dados na memória e depois persistir quando o servidor parar. Eu não acho que o arquivo seja acessado enquanto você está sendo executado.

Já faz um tempo desde que usei o HSQLDB (ou H2), mas tenho certeza de que é assim que funciona.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top