Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Importar a SQL desde Archivo de Texto (https://www.clubdelphi.com/foros/showthread.php?t=21942)

erasmorc 01-06-2005 21:01:47

Importar a SQL desde Archivo de Texto
 
Buenas tardes,

Tengo el siguiente problema, tengo un archivo Saldos.Txt y quiero insertarlo en una tabla de una BD de SQL llamada SaldosCliente que tiene los campos

Codigo Char 10
Nombre Char 60
Balance Float 8

el arhivo tiene esta estructura

"1000002","AAA DOMIVEN CARGO S. A."," 0.00"

Como ven los campos estan delimitados por comillas y separados por comas
como puedo lograr esto con sentencias de SQL Server 2000

Gracias anticipadas

jachguate 01-06-2005 23:25:54

He movido el hilo desde SQL a MSSQL server por no corresponder con la temática del foro original.

Hasta luego.

;)

__hector 02-06-2005 01:01:28

crea en el enterprise manager de sql server un dts que te permita importar los datos desde el archivo de texto hacia una tabla

sabes como?

erasmorc 02-06-2005 17:21:22

Buenos dias,


Si con el DTS se como hacerlo, fijate que he explicado que quiero hacerlo con sentencias de SQL, imaginate que quiera hacerlo desde el query analizer, si puede alguien ayudarme se lo agradeceria mucho.

Slds,

jachguate 02-06-2005 17:31:47

SQL no incluye sentencias para realizar este tipo de operaciones. A la fecha, no conozco ningún motor que haga un "añadido" al lenguaje para las mismas.

erasmorc 02-06-2005 17:44:14

Buenos dias,


Yo tampoco se si existe, pero parto del hecho de que si se puede con el DTS y con un lenguaje como Foxpro puedes hacer con una instruccion, entiendo que con el lenguaje de SQL con alguna variante del comando Insert Into podria hacerse, seguire investigando. Gracias.

Slds,
FRC

jachguate 02-06-2005 17:50:50

Pues ya rizando el rizo, en oracle se podria conseguir algo usando el package utl_file y un poco de pl/sql. Igual podriamos invocar al SQL*Loader desde SQL*Plus, o emplear java directamente en la base de datos para conseguirlo. Por último, también podriamos crear un Heterogeneous Service con algun adaptador para csv o texto (que ignoro si los habrán). Pero claro... estamos hablando de Oracle.

El hecho de que foxpro haya permitido algo desde su propio lenguaje de programación (que no es lo mismo que SQL) tiene en común con oracle que son casos aislados, algo retorcidos, y que como mínimo requerirán algo de programación.

Mi punto es: En SQL (estándar, y la mayoría de dialectos) simplemente no se puede.

Hasta luego.

;)

__hector 03-06-2005 16:12:24

mira la utilidad de bulk insert de sql server, en los books online, que quizas te ayude.

Un ejemplo:

Código:

BULK INSERT Northwind.dbo.[Order Details]
  FROM 'f:\orders\lineitem.tbl'
  WITH
      (
        FIELDTERMINATOR = '|',
        ROWTERMINATOR = '|\n'
      )


erasmorc 03-06-2005 20:39:04

Buenas tardes,

Mil gracias Hector esto funciono casi a la perfeccion, solo tengo que saber porque solo inserta completo el primer registro, los demas registros los inserta sin el primer campo, pero la ayuda me ha servido mucho, con un poco de esfuerzo puedo terminarlo. Gracias.

Siempre se puede.

Slds


La franja horaria es GMT +2. Ahora son las 08:17:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi