Ayuda con Bulk Insert

14/04/2004 - 15:28 por news.microsoft.com | Informe spam
Hola a todos, tengo un problemilla, tenia un fichero de texto que me
importaba cada dia con un bulk insert

/*
TRUNCATE TABLE SYNCSOCIOS
GO
BULK INSERT SYNCSOCIOS FROM 'd:\input\NETSOCI.txt'
WITH ( FORMATFILE = 'D:\Sincronizador\Fmt\Socios.fmt')
*/

Dicho fichero, ha sido modificado y me han agregado dos campos mas, yo
ni corto ni perezoso, modifico el fichero de formato para importarlo, el
cual no a dado ningun problema, genero los dos nuevos campos en la tabla
de importación y ejecuto la prueba, cual es mi asombro cuando me da
este error.


/*
Server: Msg 4839, Level 16, State 1, Line 1
Cannot perform bulk insert. Invalid collation name for source column 58
in format file 'D:\Sincronizador\Fmt\Socios.fmt'.
*/

La verdad es que me ha dejado un poco mosqueado, y mirando por todas
partes, no he econtrado una explicación lógica, he cambiado el collation
de la BBDD pero le da igual, y la verdad, no se donde mirar mas,
¿alguien me puede hechar una mano?

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
14/04/2004 - 15:43 | Informe spam
Creo recordar que es necesario especificar el collation de la columna
(el último campo del formato del campo), o bien doble comilla si no quieres
especificar uno concreto. ¿Lo tienes especificado así en el fichero de
formato?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"news.microsoft.com" escribió en el mensaje
news:
Hola a todos, tengo un problemilla, tenia un fichero de texto que me
importaba cada dia con un bulk insert

/*
TRUNCATE TABLE SYNCSOCIOS
GO
BULK INSERT SYNCSOCIOS FROM 'd:\input\NETSOCI.txt'
WITH ( FORMATFILE = 'D:\Sincronizador\Fmt\Socios.fmt')
*/

Dicho fichero, ha sido modificado y me han agregado dos campos mas, yo
ni corto ni perezoso, modifico el fichero de formato para importarlo, el
cual no a dado ningun problema, genero los dos nuevos campos en la tabla
de importación y ejecuto la prueba, cual es mi asombro cuando me da
este error.


/*
Server: Msg 4839, Level 16, State 1, Line 1
Cannot perform bulk insert. Invalid collation name for source column 58
in format file 'D:\Sincronizador\Fmt\Socios.fmt'.
*/

La verdad es que me ha dejado un poco mosqueado, y mirando por todas
partes, no he econtrado una explicación lógica, he cambiado el collation
de la BBDD pero le da igual, y la verdad, no se donde mirar mas,
¿alguien me puede hechar una mano?
Respuesta Responder a este mensaje
#2 news.microsoft.com
14/04/2004 - 16:12 | Informe spam
Este es un ejemplo del fichero de formato, el cual ha funcionado hasta
ahora.

8.0
58
1 SQLCHAR 0 1 "" 2 SOC_TIPO
sql_latin1_general_cp850_ci_ai
2 SQLCHAR 0 9 "" 3 SOC_CODIGO
sql_latin1_general_cp850_ci_ai
3 SQLCHAR 0 6 "" 4 SOC_BIMESTRE
sql_latin1_general_cp850_ci_ai
4 SQLCHAR 0 5 "" 5
SOC_TRATAMIENTO sql_latin1_general_cp850_ci_ai
5 SQLCHAR 0 30 "" 6 SOC_NOMBRE
sql_latin1_general_cp850_ci_ai
6 SQLCHAR 0 30 "" 7 SOC_apellido1
sql_latin1_general_cp850_ci_ai
7 SQLCHAR 0 30 "" 8 SOC_apellido2
sql_latin1_general_cp850_ci_ai
8 SQLCHAR 0 5 "" 9 SOC_tipovia
sql_latin1_general_cp850_ci_ai
9 SQLCHAR 0 30 "" 10 SOC_calle
sql_latin1_general_cp850_ci_ai
10 SQLCHAR 0 5 "" 11 SOC_numero
sql_latin1_general_cp850_ci_ai
11 SQLCHAR 0 30 "" 12 SOC_detalle
sql_latin1_general_cp850_ci_ai



Carlos Sacristan escribió:
Creo recordar que es necesario especificar el collation de la columna
(el último campo del formato del campo), o bien doble comilla si no quieres
especificar uno concreto. ¿Lo tienes especificado así en el fichero de
formato?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"news.microsoft.com" escribió en el mensaje
news:

Hola a todos, tengo un problemilla, tenia un fichero de texto que me
importaba cada dia con un bulk insert

/*
TRUNCATE TABLE SYNCSOCIOS
GO
BULK INSERT SYNCSOCIOS FROM 'd:\input\NETSOCI.txt'
WITH ( FORMATFILE = 'D:\Sincronizador\Fmt\Socios.fmt')
*/

Dicho fichero, ha sido modificado y me han agregado dos campos mas, yo
ni corto ni perezoso, modifico el fichero de formato para importarlo, el
cual no a dado ningun problema, genero los dos nuevos campos en la tabla
de importación y ejecuto la prueba, cual es mi asombro cuando me da
este error.


/*
Server: Msg 4839, Level 16, State 1, Line 1
Cannot perform bulk insert. Invalid collation name for source column 58
in format file 'D:\Sincronizador\Fmt\Socios.fmt'.
*/

La verdad es que me ha dejado un poco mosqueado, y mirando por todas
partes, no he econtrado una explicación lógica, he cambiado el collation
de la BBDD pero le da igual, y la verdad, no se donde mirar mas,
¿alguien me puede hechar una mano?





Respuesta Responder a este mensaje
#3 Miguel Egea
14/04/2004 - 16:50 | Informe spam
Bueno , aparentemente es correcto, puedes probar a generarlo de nuevo de
forma automática usando bcp, después simplmenete lo copias y nos cuentas.


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
http://www.portalsql.com

(Quita el online si me tienes que mandar un correo)
"news.microsoft.com" escribió en el mensaje
news:
Este es un ejemplo del fichero de formato, el cual ha funcionado hasta
ahora.

8.0
58
1 SQLCHAR 0 1 "" 2 SOC_TIPO
sql_latin1_general_cp850_ci_ai
2 SQLCHAR 0 9 "" 3 SOC_CODIGO
sql_latin1_general_cp850_ci_ai
3 SQLCHAR 0 6 "" 4 SOC_BIMESTRE
sql_latin1_general_cp850_ci_ai
4 SQLCHAR 0 5 "" 5
SOC_TRATAMIENTO sql_latin1_general_cp850_ci_ai
5 SQLCHAR 0 30 "" 6 SOC_NOMBRE
sql_latin1_general_cp850_ci_ai
6 SQLCHAR 0 30 "" 7 SOC_apellido1
sql_latin1_general_cp850_ci_ai
7 SQLCHAR 0 30 "" 8 SOC_apellido2
sql_latin1_general_cp850_ci_ai
8 SQLCHAR 0 5 "" 9 SOC_tipovia
sql_latin1_general_cp850_ci_ai
9 SQLCHAR 0 30 "" 10 SOC_calle
sql_latin1_general_cp850_ci_ai
10 SQLCHAR 0 5 "" 11 SOC_numero
sql_latin1_general_cp850_ci_ai
11 SQLCHAR 0 30 "" 12 SOC_detalle
sql_latin1_general_cp850_ci_ai



Carlos Sacristan escribió:
> Creo recordar que es necesario especificar el collation de la


columna
> (el último campo del formato del campo), o bien doble comilla si no


quieres
> especificar uno concreto. ¿Lo tienes especificado así en el fichero de
> formato?
>
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> Por favor, responder únicamente al foro
> Se agradece la inclusión de sentencias DDL
>
>
> "news.microsoft.com" escribió en el mensaje
> news:
>
>>Hola a todos, tengo un problemilla, tenia un fichero de texto que me
>>importaba cada dia con un bulk insert
>>
>>/*
>>TRUNCATE TABLE SYNCSOCIOS
>>GO
>>BULK INSERT SYNCSOCIOS FROM 'd:\input\NETSOCI.txt'
>> WITH ( FORMATFILE = 'D:\Sincronizador\Fmt\Socios.fmt')
>>*/
>>
>>Dicho fichero, ha sido modificado y me han agregado dos campos mas, yo
>>ni corto ni perezoso, modifico el fichero de formato para importarlo, el
>>cual no a dado ningun problema, genero los dos nuevos campos en la tabla
>> de importación y ejecuto la prueba, cual es mi asombro cuando me da
>>este error.
>>
>>
>>/*
>>Server: Msg 4839, Level 16, State 1, Line 1
>>Cannot perform bulk insert. Invalid collation name for source column 58
>>in format file 'D:\Sincronizador\Fmt\Socios.fmt'.
>>*/
>>
>>La verdad es que me ha dejado un poco mosqueado, y mirando por todas
>>partes, no he econtrado una explicación lógica, he cambiado el collation
>>de la BBDD pero le da igual, y la verdad, no se donde mirar mas,
>>¿alguien me puede hechar una mano?
>
>
>
Respuesta Responder a este mensaje
#4 news.microsoft.com
14/04/2004 - 17:23 | Informe spam
Pues nunca los he generado con el bcp, siempre los he hecho a mano,
¿cómo se generan automáticamente?
teneiendo en cuenta que son campos de ancho fijo sin delimitar, on el *
y un retorno de carro como marca de fin.

Miguel Egea escribió:

Bueno , aparentemente es correcto, puedes probar a generarlo de nuevo de
forma automática usando bcp, después simplmenete lo copias y nos cuentas.


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
http://www.portalsql.com

(Quita el online si me tienes que mandar un correo)
"news.microsoft.com" escribió en el mensaje
news:

Este es un ejemplo del fichero de formato, el cual ha funcionado hasta
ahora.

8.0
58
1 SQLCHAR 0 1 "" 2 SOC_TIPO
sql_latin1_general_cp850_ci_ai
2 SQLCHAR 0 9 "" 3 SOC_CODIGO
sql_latin1_general_cp850_ci_ai
3 SQLCHAR 0 6 "" 4 SOC_BIMESTRE
sql_latin1_general_cp850_ci_ai
4 SQLCHAR 0 5 "" 5
SOC_TRATAMIENTO sql_latin1_general_cp850_ci_ai
5 SQLCHAR 0 30 "" 6 SOC_NOMBRE
sql_latin1_general_cp850_ci_ai
6 SQLCHAR 0 30 "" 7 SOC_apellido1
sql_latin1_general_cp850_ci_ai
7 SQLCHAR 0 30 "" 8 SOC_apellido2
sql_latin1_general_cp850_ci_ai
8 SQLCHAR 0 5 "" 9 SOC_tipovia
sql_latin1_general_cp850_ci_ai
9 SQLCHAR 0 30 "" 10 SOC_calle
sql_latin1_general_cp850_ci_ai
10 SQLCHAR 0 5 "" 11 SOC_numero
sql_latin1_general_cp850_ci_ai
11 SQLCHAR 0 30 "" 12 SOC_detalle
sql_latin1_general_cp850_ci_ai



Carlos Sacristan escribió:

Creo recordar que es necesario especificar el collation de la





columna

(el último campo del formato del campo), o bien doble comilla si no





quieres

especificar uno concreto. ¿Lo tienes especificado así en el fichero de
formato?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"news.microsoft.com" escribió en el mensaje
news:


Hola a todos, tengo un problemilla, tenia un fichero de texto que me
importaba cada dia con un bulk insert

/*
TRUNCATE TABLE SYNCSOCIOS
GO
BULK INSERT SYNCSOCIOS FROM 'd:\input\NETSOCI.txt'
WITH ( FORMATFILE = 'D:\Sincronizador\Fmt\Socios.fmt')
*/

Dicho fichero, ha sido modificado y me han agregado dos campos mas, yo
ni corto ni perezoso, modifico el fichero de formato para importarlo, el
cual no a dado ningun problema, genero los dos nuevos campos en la tabla
de importación y ejecuto la prueba, cual es mi asombro cuando me da
este error.


/*
Server: Msg 4839, Level 16, State 1, Line 1
Cannot perform bulk insert. Invalid collation name for source column 58
in format file 'D:\Sincronizador\Fmt\Socios.fmt'.
*/

La verdad es que me ha dejado un poco mosqueado, y mirando por todas
partes, no he econtrado una explicación lógica, he cambiado el collation
de la BBDD pero le da igual, y la verdad, no se donde mirar mas,
¿alguien me puede hechar una mano?











Respuesta Responder a este mensaje
#5 Miguel Egea
14/04/2004 - 20:31 | Informe spam
si haces una exportación con bcp el al final te solicita los anchos de los
campos y te genera un fichero fmt, te pregunta el nombre incluso, pruebalo y
nos cuentas. con esta instruccion
bcp nothwind.dbo.orders out -S[nombre server[ -T
(trusted connections), y unos cuantos intros obtienes esto
8.0
14
1 SQLINT 0 4 "" 1
OrderID ""
2 SQLNCHAR 2 10 "" 2
CustomerID Modern_Spanish_CI_AS
3 SQLINT 1 4 "" 3
EmployeeID ""
4 SQLDATETIME 1 8 "" 4
OrderDate ""
5 SQLDATETIME 1 8 "" 5
RequiredDate ""
6 SQLDATETIME 1 8 "" 6
ShippedDate ""
7 SQLINT 1 4 "" 7
ShipVia ""
8 SQLMONEY 1 8 "" 8
Freight ""
9 SQLNCHAR 2 80 "" 9
ShipName Modern_Spanish_CI_AS
10 SQLNCHAR 2 120 "" 10
ShipAddress Modern_Spanish_CI_AS
11 SQLNCHAR 2 30 "" 11
ShipCity Modern_Spanish_CI_AS
12 SQLNCHAR 2 30 "" 12
ShipRegion Modern_Spanish_CI_AS
13 SQLNCHAR 2 20 "" 13
ShipPostalCode Modern_Spanish_CI_AS
14 SQLNCHAR 2 30 "" 14
ShipCountry Modern_Spanish_CI_AS

Suerte


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
http://www.portalsql.com

(Quita el online si me tienes que mandar un correo)



"news.microsoft.com" escribió en el mensaje
news:ebQV$
Pues nunca los he generado con el bcp, siempre los he hecho a mano,
¿cómo se generan automáticamente?
teneiendo en cuenta que son campos de ancho fijo sin delimitar, on el *
y un retorno de carro como marca de fin.

Miguel Egea escribió:

> Bueno , aparentemente es correcto, puedes probar a generarlo de nuevo de
> forma automática usando bcp, después simplmenete lo copias y nos


cuentas.
>
>
> Saludos
>
> Miguel Egea
> Microsoft SQL-SERVER MVP
> Brigada Anti-Cursores
> http://www.portalsql.com
>
> (Quita el online si me tienes que mandar un correo)
> "news.microsoft.com" escribió en el mensaje
> news:
>
>>Este es un ejemplo del fichero de formato, el cual ha funcionado hasta
>>ahora.
>>
>>8.0
>>58
>>1 SQLCHAR 0 1 "" 2 SOC_TIPO
>>sql_latin1_general_cp850_ci_ai
>>2 SQLCHAR 0 9 "" 3 SOC_CODIGO
>>sql_latin1_general_cp850_ci_ai
>>3 SQLCHAR 0 6 "" 4 SOC_BIMESTRE
>>sql_latin1_general_cp850_ci_ai
>>4 SQLCHAR 0 5 "" 5
>>SOC_TRATAMIENTO sql_latin1_general_cp850_ci_ai
>>5 SQLCHAR 0 30 "" 6 SOC_NOMBRE
>>sql_latin1_general_cp850_ci_ai
>>6 SQLCHAR 0 30 "" 7 SOC_apellido1
>>sql_latin1_general_cp850_ci_ai
>>7 SQLCHAR 0 30 "" 8 SOC_apellido2
>>sql_latin1_general_cp850_ci_ai
>>8 SQLCHAR 0 5 "" 9 SOC_tipovia
>>sql_latin1_general_cp850_ci_ai
>>9 SQLCHAR 0 30 "" 10 SOC_calle
>>sql_latin1_general_cp850_ci_ai
>>10 SQLCHAR 0 5 "" 11 SOC_numero
>>sql_latin1_general_cp850_ci_ai
>>11 SQLCHAR 0 30 "" 12 SOC_detalle
>>sql_latin1_general_cp850_ci_ai
>>
>>
>>
>>Carlos Sacristan escribió:
>>
>>> Creo recordar que es necesario especificar el collation de la
>
> columna
>
>>>(el último campo del formato del campo), o bien doble comilla si no
>
> quieres
>
>>>especificar uno concreto. ¿Lo tienes especificado así en el fichero de
>>>formato?
>>>
>>>
>>>
>>> Un saludo
>>>
>>>-
>>>"Sólo sé que no sé nada. " (Sócrates)
>>>
>>>Por favor, responder únicamente al foro
>>>Se agradece la inclusión de sentencias DDL
>>>
>>>
>>>"news.microsoft.com" escribió en el mensaje
>>>news:
>>>
>>>
>>>>Hola a todos, tengo un problemilla, tenia un fichero de texto que me
>>>>importaba cada dia con un bulk insert
>>>>
>>>>/*
>>>>TRUNCATE TABLE SYNCSOCIOS
>>>>GO
>>>>BULK INSERT SYNCSOCIOS FROM 'd:\input\NETSOCI.txt'
>>>> WITH ( FORMATFILE = 'D:\Sincronizador\Fmt\Socios.fmt')
>>>>*/
>>>>
>>>>Dicho fichero, ha sido modificado y me han agregado dos campos mas, yo
>>>>ni corto ni perezoso, modifico el fichero de formato para importarlo,


el
>>>>cual no a dado ningun problema, genero los dos nuevos campos en la


tabla
>>>> de importación y ejecuto la prueba, cual es mi asombro cuando me da
>>>>este error.
>>>>
>>>>
>>>>/*
>>>>Server: Msg 4839, Level 16, State 1, Line 1
>>>>Cannot perform bulk insert. Invalid collation name for source column


58
>>>>in format file 'D:\Sincronizador\Fmt\Socios.fmt'.
>>>>*/
>>>>
>>>>La verdad es que me ha dejado un poco mosqueado, y mirando por todas
>>>>partes, no he econtrado una explicación lógica, he cambiado el


collation
>>>>de la BBDD pero le da igual, y la verdad, no se donde mirar mas,
>>>>¿alguien me puede hechar una mano?
>>>
>>>
>>>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida