Pregunta

Realmente no entiendo el SQLTool ... Solo quiero importar un archivo SQL en la base de datos y elegir este comando para hacer esto:

java -jar ~/bin/sqltool.jar --autoCommit --inlineRc URL=jdbc:hsqldb:file:/path/to/my/database.hsqldb,USER=SA,PASSWORD='' database.sql

En la base de datos.sql es todo lo que crea, como:

create table foo(id identity, name varchar(256));

Luego tengo un segundo script, llamado data.sql, que debe escribirse en la base de datos de la misma manera, en este es todo mi material de prueba de prueba:

insert into foo(name) values('bla');

Cuando ahora ejecuto mi script bash, el SQLTool crea una nueva base de datos (antes de eliminar el archivo), ¡pero no hace nada con el archivo SQL! El primer script se ejecuta sin errores, pero el segundo dice:

SEVERE  SQL Fehler an 'data.sql' Zeile 1:
"insert into foo (name) values('bla')"
user lacks privilege or object not found: FOO
org.hsqldb.cmdline.SqlTool$SqlToolException

Cuando ahora me conecto a la base de datos y digo \dt ¡No hay mesa!

También puse un commit; Al final de cada archivo y apertue el sqltool con --autoCommit Pero esto tampoco funciona ... ¿qué está pasando allí?

¿Fue útil?

Solución

HSQLDB requiere el comando de cierre antes del cierre de la última conexión o una propiedad de conexión JDBC, apagado = true. Ver documentos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top