Dbimport en otro dbspaces

Les hago una consulta: la exportación de la base siu_guarani de la versión 2.06.4 tiene los create index “in siu_guarani”. Necesito importar la base en otro dbspaces, puedo tocar el siu_guarani.sql, pero cómo lo solucionaría sin tener que tocarlo.

ANA - UNNOBA

Hola Ana

Que yo sepa no se puede.
Tenes que cambiarlo o borrarlo.
Si no existe el dbspace te falla.
Eso me pasaba con tu base.

Emilio

Ana:

Eso pasa siempre, loi indices dice explicitamente en que dbspace se crean (el mismo que estaba la base).

Como dice Emilio, la ùnica manera es cambiar en el SQL el dbspace o bien eliminar de las sentencias el “in dbspace xxxxxx” y de esa manera te los creará en el mismo dbspace que pongas la base.

No hay otra manera con el import. La otra es mucho más trabajosa, que es borrar todos los indices del dbspace original y volverlos a crear. Y la alternativa es dejar los indices en el dbspace de la base original si tenès espacio.

Saludos

Gustavo

hola:

No se si es lo que queres hacer pero para crear la base en otro dbspaces, seria dbimport [base de datos] -d [dbspaces original] -l -i [ruta] -d datadbs,con -d le indicas en que dbspaces queres instalar la base.

saludos!!!

Pablo es correcto lo que decis al importar una base en nuevo dbspace, lo que sucede que la sentencia para crear los indices quedan con la sentencia “in nombre_dbspace” y esto no se cambia al momento de importarlo. Es por ello que por mas que le indiques otro dbspace en el comando dbimport, al crear los índices los creará en el dbpsace que qeudo especificado en el archivo .sql.
Lo unico que se puede hacer es modificar los create index sacando como dice Gustavo el “in nombre_dbspace” o reemplazandolo por el dbspace en donde importarás la base.
Es por este motivo que es recomendable exportar la base de esta forma y no a un archivo binario (dbexport base -t …) ya que de esta forma no podras modificar el archivo para renombrar el dbspace que esta especificado en los indices).