![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Resp
Mira las funciones las puede usar con una simple intrucion sql para actualizar cada registro con un trim de lso campos.
Esto es para que elimines los caracteres de esapcio. Bueno esto es una solucion Quisas no la que esperabas.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
#2
|
|||
|
|||
|
Entiendo tu respuesto y al mismo tiempo no, para graficar te muestro el codigo que trae en forma inmediata los datos que estan en el archivo de texto a la tabla que se crea mediante el comando:
Código:
create table archivoext external file 'c:\paso.txt' ( te_campo01 char(04), te_campo02 char(04), te_campo03 char(04), te_campo04 char(04), te_campo05 char(04), te_campo06 char(04), retorno char(02) ); Gracias de nuevo ulises |
|
#3
|
|||
|
|||
|
Sigo sin respuesta para tu duda, pero he hecho algunas pruebas y con interbase 6.5 el create me coje bien los datos (en campo04 pone los dos caracteres || ).
No supe hacer el Stored Procedure, pero creando la tabla directamente todo fue bien. Sin embargo con firebird 1.5 no consegui resultado alguno, al crear la BBDD ya me daba el error : Código:
Please retry, specifying an option Statement: create table tablaex external file 'c:\paso.txt' Bueno, espero que esto te sirva de algo. Prueba con Interbase y si te funciona busca en los bugs de Firebird. Cuando tenga tiempo seguiré con este tema porque, si funciona, me viene bien para un programa, me parece mejor opción que leer el fichero de texto. Saludos. |
|
#4
|
|||
|
|||
|
Gracias Fly por tu respuesta,
con respecto a pq no creo la tabla puede ser por la configuracion del server, tienes que ir a firebird.conf o interbase.conf (no se si será asi) y ver los parametros del acceso a tablas externas que generalmente esta denegado y ademas con comentario, para mayor explicacion te copio parte del archivo: Código:
# ---------------------------- # External File Paths/Directories # # ExternalFileAccess may be None, Full or Restrict. If you choose # Restrict, provide ';'-separated trees list, where external files # are stored. Relative paths are treated relative to RootDirectory entry # (see above). Default value 'None' disables any use of external files # on your site. To specify access to specific trees, enum all required # paths (for Win32 this may be something like 'C:\ExternalTables', # for unix - '/db/extern;/mnt/extern'). # # NOTE: THE EXTERNAL TABLE ENGINE FEATURE COULD BE USED TO COMPROMISE # THE SERVER/HOST AS WELL AS DATABASE SECURITY!! # # IT IS STRONGLY RECOMMENDED THAT THIS SETTING BE USED TO LIMIT # EXTERNAL TABLE LOCATIONS! # # Type: string (special format) # ExternalFileAccess = Restrict c:\ Si alguien me pudiera ayudar a mi en firebird seria super bueno.... Gracias Ulises |
|
#5
|
|||
|
|||
|
Hola ulises,
Hice la prueba con Firebird 1.5 y funcionó perfectamente. La siguiente es la estructura que utilice para la prueba: Código:
CREATE TABLE TABLAEXTERNA EXTERNAL 'C:\TABLAEXTERNA.TXT' (
CAMPO1 CHAR(4),
CAMPO2 CHAR(4),
CAMPO3 CHAR(4),
CR CHAR(2)
)
Saludos. |
|
#6
|
|||
|
|||
|
Gracias por tu respuesta,
Me podrias indicar con que editor hiciste la prueba, en realidad yo he probado con varios, tal como el notepad, ultraedit, edit. En realidad es bastante util el trabajar de esta manera pues te evitas un monton de pasos que segun lo que he visto se hacen en delphi ahora, pero a veces es mas conveniente que los haga la base, y se tiene la oportunidad de exportar directamente desde la base a un archivo de texto tambien. Gracias de nuevo Ulises |
|
#7
|
|||
|
|||
|
Con el editor de delphi
Hola ulises,
La prueba la hice tanto con el editor de Delphi 5 como con el Edit.com, obteniendo buenos resultados. El notepad también podría funcionar, pero he tenido malas experiencias con él en otras ocasiones y por eso no lo uso para editar ete tipo de archivo. Saludos. |
|
#8
|
|||
|
|||
|
Exacto Ulises, no tenia nada configurado en ExternalFileAccess.
Lo he activado y ahora si va, y funciona perfectamente y la extructura es la misma que usó orodriguezc, la única pega es que no pilla la última línea si no existe al final de ella el retorno de carro. Pero coge bien los cuatro campos ( 3 + retorno_de_carro) Los caracteres de fin de linea son 0Dh+0Ah (osea 13+10 en decimal) En cuanto a editores, usa uno hexadecimal, por ejemplo el WinHex. Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|