Trabajo con bulk insert

23/03/2006 - 17:40 por Peter | Informe spam
Hola!!, estoy montando información de archivos de texto con un Bulk Insert,
pero sucede que al armar el archivo que tengo que montar no respeta el
armado, ya lo probe con un print y si funciona la concatenación pero usando
el bulk no lo hace, alguien tiene alguna idea de como puedo hacerlo, aqui les
pongo esa parte del codigo.



BULK INSERT users..CPU FROM 'F:\ArchivosdeTexto\cliente\Consola\salidau_0' +
CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT (CHAR(2),DATEPART(DAY,
GETDATE())) + '.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ',',
ROWTERMINATOR = ''
)
Gracias y saludos!!

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
23/03/2006 - 19:10 | Informe spam
Trata esta version,

declare @sql nvarchar(4000)

set @sql = N'
BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0'
+
CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
(CHAR(2),DATEPART(DAY, GETDATE())) + '.txt''
WITH (
DATAFILETYPE = ''char'',
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''''
)'

exec sp_executesql @sql
go


AMB

"Alejandro Mesa" wrote:

Peter,

Trata usando sql dinamico.

declare @sql nvarchar(4000)

set @sql = N'
BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0''
+
CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
(CHAR(2),DATEPART(DAY, GETDATE())) + ''.txt''
WITH (
DATAFILETYPE = ''char'',
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''''
)'

exec sp_executesql @sql
go

Las virtudes y maldades del SQL dinámico
http://www.hayes.ch/sql/sql_dinamico.html


AMB


"Peter" wrote:

> Hola!!, estoy montando información de archivos de texto con un Bulk Insert,
> pero sucede que al armar el archivo que tengo que montar no respeta el
> armado, ya lo probe con un print y si funciona la concatenación pero usando
> el bulk no lo hace, alguien tiene alguna idea de como puedo hacerlo, aqui les
> pongo esa parte del codigo.
>
>
>
> BULK INSERT users..CPU FROM 'F:\ArchivosdeTexto\cliente\Consola\salidau_0' +
> CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT (CHAR(2),DATEPART(DAY,
> GETDATE())) + '.txt'
> WITH (
> DATAFILETYPE = 'char',
> FIELDTERMINATOR = ',',
> ROWTERMINATOR = ''
> )
> Gracias y saludos!!
Respuesta Responder a este mensaje
#7 Peter
23/03/2006 - 19:17 | Informe spam
Hola Alex, gracias.

Estoy haciendo pruebas con el código pero no aún no resulta.

Saludos!!

"Alejandro Mesa" wrote:

Trata esta version,

declare @sql nvarchar(4000)

set @sql = N'
BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0'
+
CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
(CHAR(2),DATEPART(DAY, GETDATE())) + '.txt''
WITH (
DATAFILETYPE = ''char'',
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''''
)'

exec sp_executesql @sql
go


AMB

"Alejandro Mesa" wrote:

> Peter,
>
> Trata usando sql dinamico.
>
> declare @sql nvarchar(4000)
>
> set @sql = N'
> BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0''
> +
> CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
> (CHAR(2),DATEPART(DAY, GETDATE())) + ''.txt''
> WITH (
> DATAFILETYPE = ''char'',
> FIELDTERMINATOR = '','',
> ROWTERMINATOR = ''''
> )'
>
> exec sp_executesql @sql
> go
>
> Las virtudes y maldades del SQL dinámico
> http://www.hayes.ch/sql/sql_dinamico.html
>
>
> AMB
>
>
> "Peter" wrote:
>
> > Hola!!, estoy montando información de archivos de texto con un Bulk Insert,
> > pero sucede que al armar el archivo que tengo que montar no respeta el
> > armado, ya lo probe con un print y si funciona la concatenación pero usando
> > el bulk no lo hace, alguien tiene alguna idea de como puedo hacerlo, aqui les
> > pongo esa parte del codigo.
> >
> >
> >
> > BULK INSERT users..CPU FROM 'F:\ArchivosdeTexto\cliente\Consola\salidau_0' +
> > CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT (CHAR(2),DATEPART(DAY,
> > GETDATE())) + '.txt'
> > WITH (
> > DATAFILETYPE = 'char',
> > FIELDTERMINATOR = ',',
> > ROWTERMINATOR = ''
> > )
> > Gracias y saludos!!
Respuesta Responder a este mensaje
#8 Peter
23/03/2006 - 19:20 | Informe spam
De hecho aparece el mismo mensaje:

Line 4: Incorrect syntax near '+'.
Saludos!!

"Alejandro Mesa" wrote:

Trata esta version,

declare @sql nvarchar(4000)

set @sql = N'
BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0'
+
CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
(CHAR(2),DATEPART(DAY, GETDATE())) + '.txt''
WITH (
DATAFILETYPE = ''char'',
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''''
)'

exec sp_executesql @sql
go


AMB

"Alejandro Mesa" wrote:

> Peter,
>
> Trata usando sql dinamico.
>
> declare @sql nvarchar(4000)
>
> set @sql = N'
> BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0''
> +
> CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
> (CHAR(2),DATEPART(DAY, GETDATE())) + ''.txt''
> WITH (
> DATAFILETYPE = ''char'',
> FIELDTERMINATOR = '','',
> ROWTERMINATOR = ''''
> )'
>
> exec sp_executesql @sql
> go
>
> Las virtudes y maldades del SQL dinámico
> http://www.hayes.ch/sql/sql_dinamico.html
>
>
> AMB
>
>
> "Peter" wrote:
>
> > Hola!!, estoy montando información de archivos de texto con un Bulk Insert,
> > pero sucede que al armar el archivo que tengo que montar no respeta el
> > armado, ya lo probe con un print y si funciona la concatenación pero usando
> > el bulk no lo hace, alguien tiene alguna idea de como puedo hacerlo, aqui les
> > pongo esa parte del codigo.
> >
> >
> >
> > BULK INSERT users..CPU FROM 'F:\ArchivosdeTexto\cliente\Consola\salidau_0' +
> > CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT (CHAR(2),DATEPART(DAY,
> > GETDATE())) + '.txt'
> > WITH (
> > DATAFILETYPE = 'char',
> > FIELDTERMINATOR = ',',
> > ROWTERMINATOR = ''
> > )
> > Gracias y saludos!!
Respuesta Responder a este mensaje
#9 Alejandro Mesa
23/03/2006 - 19:41 | Informe spam
Peter,

Si ejecutto este script en mi maquina:

declare @sql nvarchar(4000)

set @sql = N'
BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0'
+
CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
(CHAR(2),DATEPART(DAY, GETDATE())) + '.txt''
WITH (
DATAFILETYPE = ''char'',
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''''
)'

print @sql
go

Este es el resultado que obtengo:

BULK INSERT users..CPU FROM
'F:\ArchivosdeTexto\cliente\Consola\salidau_0323.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ',',
ROWTERMINATOR = ''
)

Es esto lo que esperas?. Ejecutalo a ver si trabaja.


AMB


"Peter" wrote:

De hecho aparece el mismo mensaje:

Line 4: Incorrect syntax near '+'.
Saludos!!

"Alejandro Mesa" wrote:

> Trata esta version,
>
> declare @sql nvarchar(4000)
>
> set @sql = N'
> BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0'
> +
> CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
> (CHAR(2),DATEPART(DAY, GETDATE())) + '.txt''
> WITH (
> DATAFILETYPE = ''char'',
> FIELDTERMINATOR = '','',
> ROWTERMINATOR = ''''
> )'
>
> exec sp_executesql @sql
> go
>
>
> AMB
>
> "Alejandro Mesa" wrote:
>
> > Peter,
> >
> > Trata usando sql dinamico.
> >
> > declare @sql nvarchar(4000)
> >
> > set @sql = N'
> > BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0''
> > +
> > CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
> > (CHAR(2),DATEPART(DAY, GETDATE())) + ''.txt''
> > WITH (
> > DATAFILETYPE = ''char'',
> > FIELDTERMINATOR = '','',
> > ROWTERMINATOR = ''''
> > )'
> >
> > exec sp_executesql @sql
> > go
> >
> > Las virtudes y maldades del SQL dinámico
> > http://www.hayes.ch/sql/sql_dinamico.html
> >
> >
> > AMB
> >
> >
> > "Peter" wrote:
> >
> > > Hola!!, estoy montando información de archivos de texto con un Bulk Insert,
> > > pero sucede que al armar el archivo que tengo que montar no respeta el
> > > armado, ya lo probe con un print y si funciona la concatenación pero usando
> > > el bulk no lo hace, alguien tiene alguna idea de como puedo hacerlo, aqui les
> > > pongo esa parte del codigo.
> > >
> > >
> > >
> > > BULK INSERT users..CPU FROM 'F:\ArchivosdeTexto\cliente\Consola\salidau_0' +
> > > CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT (CHAR(2),DATEPART(DAY,
> > > GETDATE())) + '.txt'
> > > WITH (
> > > DATAFILETYPE = 'char',
> > > FIELDTERMINATOR = ',',
> > > ROWTERMINATOR = ''
> > > )
> > > Gracias y saludos!!
Respuesta Responder a este mensaje
#10 Peter
23/03/2006 - 20:40 | Informe spam
ALex, tienes toda la razón ..

Ya lo ejecute de nuevo y quedo excelente, justo lo que necesitaba.
Me gustaria aprender un poco más acerca de ese tipo de sql, podrías decirme
donde encuentro más???

Muchas gracias!

Saludos!!
"Alejandro Mesa" escribió:

Peter,

Si ejecutto este script en mi maquina:

declare @sql nvarchar(4000)

set @sql = N'
BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0'
+
CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
(CHAR(2),DATEPART(DAY, GETDATE())) + '.txt''
WITH (
DATAFILETYPE = ''char'',
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''''
)'

print @sql
go

Este es el resultado que obtengo:

BULK INSERT users..CPU FROM
'F:\ArchivosdeTexto\cliente\Consola\salidau_0323.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ',',
ROWTERMINATOR = ''
)

Es esto lo que esperas?. Ejecutalo a ver si trabaja.


AMB


"Peter" wrote:

> De hecho aparece el mismo mensaje:
>
> Line 4: Incorrect syntax near '+'.
> Saludos!!
>
> "Alejandro Mesa" wrote:
>
> > Trata esta version,
> >
> > declare @sql nvarchar(4000)
> >
> > set @sql = N'
> > BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0'
> > +
> > CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
> > (CHAR(2),DATEPART(DAY, GETDATE())) + '.txt''
> > WITH (
> > DATAFILETYPE = ''char'',
> > FIELDTERMINATOR = '','',
> > ROWTERMINATOR = ''''
> > )'
> >
> > exec sp_executesql @sql
> > go
> >
> >
> > AMB
> >
> > "Alejandro Mesa" wrote:
> >
> > > Peter,
> > >
> > > Trata usando sql dinamico.
> > >
> > > declare @sql nvarchar(4000)
> > >
> > > set @sql = N'
> > > BULK INSERT users..CPU FROM ''F:\ArchivosdeTexto\cliente\Consola\salidau_0''
> > > +
> > > CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT
> > > (CHAR(2),DATEPART(DAY, GETDATE())) + ''.txt''
> > > WITH (
> > > DATAFILETYPE = ''char'',
> > > FIELDTERMINATOR = '','',
> > > ROWTERMINATOR = ''''
> > > )'
> > >
> > > exec sp_executesql @sql
> > > go
> > >
> > > Las virtudes y maldades del SQL dinámico
> > > http://www.hayes.ch/sql/sql_dinamico.html
> > >
> > >
> > > AMB
> > >
> > >
> > > "Peter" wrote:
> > >
> > > > Hola!!, estoy montando información de archivos de texto con un Bulk Insert,
> > > > pero sucede que al armar el archivo que tengo que montar no respeta el
> > > > armado, ya lo probe con un print y si funciona la concatenación pero usando
> > > > el bulk no lo hace, alguien tiene alguna idea de como puedo hacerlo, aqui les
> > > > pongo esa parte del codigo.
> > > >
> > > >
> > > >
> > > > BULK INSERT users..CPU FROM 'F:\ArchivosdeTexto\cliente\Consola\salidau_0' +
> > > > CONVERT (CHAR(1),DATEPART(MONTH, GETDATE())) + CONVERT (CHAR(2),DATEPART(DAY,
> > > > GETDATE())) + '.txt'
> > > > WITH (
> > > > DATAFILETYPE = 'char',
> > > > FIELDTERMINATOR = ',',
> > > > ROWTERMINATOR = ''
> > > > )
> > > > Gracias y saludos!!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida