Hsqldb

7 respostas
C

Olá,

Estou desenvolvendo uma aplicação web, com Java e HSQLDB (versão 1.8.0). A conexão com o bd está fazendo certinho. Conecta, acessa o script do bd, mas o seguinte erro surge assim que este script é acessado:

java.sql.SQLException: error in script line: 1
Unexpected token: SCHEMA in statement [CREATE SCHEMA]

Na aplicação tenho a conexão da seguinte forma:
conn=DriverManager.getConnection("jdbc:hsqldb:file:"+System.getProperty("dirbd")+";shutdown=true","sa","");
E no script tem-se:
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE SEQUENCE IDBEAN_SEQ AS INTEGER START WITH 1

CREATE MEMORY TABLE IDBEAN(ID INTEGER, ID_TIPO INTEGER, DS_DESCRICAO VARCHAR(60), EXCLUIDO BOOLEAN)

CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 20
SET SCHEMA PUBLIC

INSERT INTO IDBEAN VALUES(1,1,'FUNCIONARIO',FALSE)

Alguém pode me dar uma dica sobre como resolver este problema?
agradeço desde já.. =]

7 Respostas

C
Olá senhora Cris Primeiramente gostaria de parabenizala pelos belos olhos verdes. Segundamente.. q achei o seu post Aqui Terceiramente tentar ajudar.. bem vamos la...
CREATE SCHEMA PUBLIC AUTHORIZATION DBA

CREATE MEMORY TABLE CATEGORY(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY,NAME VARCHAR(255))

ALTER TABLE CATEGORY ALTER COLUMN ID RESTART WITH 1

CREATE USER SA PASSWORD ""

GRANT DBA TO SA

SET WRITE_DELAY 20

SET SCHEMA PUBLIC

INSERT INTO TRAILS_ROLE VALUES(1,'ROLE_MANAGER',2,'ROLE_MANAGER')
Olha esse exemplo e adapta no seu código que vai funcionar.

Espero ter ajudado.

C

Olá Rafael!

Bom, primeiramente gostaria de dizer que meus olhos são azuis… mas agradeço da mesma forma os parabéns… :wink:

Gostaria de agradecer tb a ajuda, mas acho que não é bem isso. Tentei acrescentar no meu script do bd, o que vc indicou, mas o erro persistiu. Não está reconhecendo a sintaxe do meu script… parece algum problema de versão, mas estou usando a 1.8.0, que deveria aceitar… não sei mais o que tentar aqui…

obrigadinha! :wink:

C

Olá cris… eu pelo que andei vendo por ai o problema do pessoal é de versão do driver mesmo.
Vc chegou a baixar a versaão 1.8.0.7 ? tente usar esse kra, ou o driver da versao 1.7.

C

Então, Rafael,

Eu já tinha sim baixado a versão 1.8.0.7 mas o erro persistiu, e o driver da versao 1.7.3.3 também não resolveu meu problema. :sad: valeu novamente a tentativa.

obs.: só a título de informação, estou trabalhando com sistema operacional Windows, enquanto que minha colega de trabalho está trabalhando na mesma aplicação utilizando o Fedora… No Linux funcionou perfeitamente, aqui, com Windows, utilizando o mesmo driver hsqldb, não aceita a sintaxe do script, até encontra o script, mas não reconhece alguns termos…
Mas a principio estes drivers não tem nenhuma particularidade com qualquer SO… Então não consigo imaginar qual venha a ser o problema, já que nem a alternância entre versões resolveu…

Até mais, Cris.

C

É cris eu tb ja passei por alguns problemas meio esquisito assim, mas so consegui resolver depois q abri o código do meu .jar q estava usando e criei eu mesmo a funcionalidade… na verdade até mandei a correção do BUG pra o time jakarta rsr
Sobre o seu problema é bem esquisito isso, pois pra funcionar em um SO e em outro nao e bem complicado mesmo, o que eu te aconselho fazer e dar uma olhada em arquivos de script que estao na net, e se espelhar pra fazer no seu script ai.
A Diana ai me falou sobre esse problema de funcionar em um SO e outro nao, mas eu pensei q fosse alguma configuracao e nada nativo.
Esse fds vo dar uma pesquisada pelos fontes do hsqldb pra ver ond que ele faz isso, se conseguir eu mando um .jar pra ti ai ok ?

C

Olá!

Bom, o meu problema estava na sintaxe, onde não eram reconhecidos alguns termos, porém estes termos eram apenas na criação do SCHEMA para autorização de acesso do USER, que estava da seguinte maneira:
CREATE SCHEMA PUBLIC AUTHORIZATION DBA

CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 20
SET SCHEMA PUBLIC
Então, ao invés de criar um schema, criei apenas um usuario ADMIN:
CREATE USER SA PASSWORD "" ADMIN

Isso resolveu meu problema :wink:

C

Parabens cris. Boa ideia.

Criado 28 de março de 2007
Ultima resposta 3 de abr. de 2007
Respostas 7
Participantes 2