Ver Mensaje Individual
  #6  
Antiguo 27-12-2014
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Reputación: 14
bulc Va por buen camino
Aclaraciones a los ficheros externos

Permite unas aclaraciones. Son el resultado de mirar por varios sitios. He avanzado algo en lo de llevar datos de un fichero de texto a una tabla de firebird.
Esto puede ahorrar mucho trabajo de insercción de datos. De ahí mi interés.
Lo primero que se requiere para usar ficheros externos es habilitar su uso en el fichero Firebird_2_5\firebird.conf. Debe quitarse la almohadilla a la linea #ExternalFileAccess = None y convertirla en esta (en mi caso) otra:
ExternalFileAccess = Restrict D:\DELFIXE3\ALUMNOS;
Si no deja el sistema guardar los datos bajar el cursor de Protección a cero (Panel de Control->Seguridad)
Luego se va uno al SQL y se crean dos tablas. Una será una tabla la imagen interna (en el servidor Firebird) de un fichero de texto externo. Este fichero externo contiene los datos bien encolumnados y con un final de línea EOL que ocupa dos caracteres. Debe situarse en el directorio D:\delfixe3\maderas al cual hemos habilitado.
Por ejemplo la linea:
Nombre + Apellidos + Ciudad tendría 14 + 40 + 30 caracteres y un final de línea. La orden de creación del fichero indica donde estará su imagen.
CREATE TABLE EXT_TBL EXTERNAL FILE 'ALUMNOS.TXT' (
NOM CHAR(14), APELLIDOS CHAR(40), CIUDAD CHAR(30), FLINEA CHAR(2) ); COMMIT;
Ahora al citar con un select la tabla EXT_TBL, esta obtendrá los datos del fichero de texto 'alumnos.txt'.
Si queremos importar los datos desde el fichero externo a otra tabla de firebird, abrimos otra tabla en el .FDB. Con el comando:
CREATE TABLE ALUMNOS ( NOMBRE VARCHAR(14), APELLIDOS VARCHAR(40), CIUDAD VARCHAR(30), FLINEA CHAR(2) );
Una vez creadas todas las tablas podemos insertar los datos del fichero externo (a traves de su imagen) en la tabla firebird. Haríamos así:
INSERT INTO ALUMNOS SELECT NOM, APELLIDOS, CIUDAD, FLINEA FROM EXT_TBL; COMMIT;
.................................................................................................... ..........................
He seguido estos pasos y funciona. El mayor problema, al menos para mí, es colocar correctamente los datos en el editor para que no se descabalguen los datos columnares.
Espero pueda servir. Feliz resacón.
bulc
Responder Con Cita