Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: Aug 2004
Posts: 66
Poder: 15
erasmorc Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 01-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: May 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
He movido el hilo desde SQL a MSSQL server por no corresponder con la temática del foro original.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 02-06-2005
Avatar de hector
[hector] hector is offline
Miembro Premium
 
Registrado: May 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.076
Poder: 17
hector Va por buen camino
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?
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #4  
Antiguo 02-06-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: Aug 2004
Posts: 66
Poder: 15
erasmorc Va por buen camino
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,
Responder Con Cita
  #5  
Antiguo 02-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: May 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
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.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 02-06-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: Aug 2004
Posts: 66
Poder: 15
erasmorc Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 02-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: May 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 22
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 03-06-2005
Avatar de hector
[hector] hector is offline
Miembro Premium
 
Registrado: May 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.076
Poder: 17
hector Va por buen camino
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'
      )
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #9  
Antiguo 03-06-2005
erasmorc erasmorc is offline
Miembro
 
Registrado: Aug 2004
Posts: 66
Poder: 15
erasmorc Va por buen camino
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:22:19.


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