Problema con la importacion de archivo y tabla temporal con key

06/05/2005 - 15:37 por Nicola Strappazzon | Informe spam
Hola de nuevo muchachos, estoy tratando de poder importar un archivo a una
tabla con primary key, pero al hacerlo me da un error, le quito el primary
key y funciona perfectamente, el caso es q tengo que después recorrer esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo, que es la
Cedula de Identidad, como un numero de identificación en Venezuela, y no
puedo hacer un contador con eso por q no es un numero continuo y seria MUYYY
LAAARRRGGGOOOOO recorrerlo. Por eso el poner mi idea el PK en la tabla
temporal, alguna sugerencia es bienvenida!



Gracias.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
06/05/2005 - 16:03 | Informe spam
Nicola,

Vamos por parte, ok?

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a una
tabla con primary key, pero al hacerlo me da un error



Cual es el error que te da?

tabla con primary key, pero al hacerlo me da un error, le quito el primary
key y funciona perfectamente, el caso es q tengo que después recorrer esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo,



Cual es la definicion de la tabla?. Danos un poco de informacion sobre esa
primary key.

Por que necesitas que el pk sea consecutivo?

AMB

"Nicola Strappazzon" wrote:

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a una
tabla con primary key, pero al hacerlo me da un error, le quito el primary
key y funciona perfectamente, el caso es q tengo que después recorrer esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo, que es la
Cedula de Identidad, como un numero de identificación en Venezuela, y no
puedo hacer un contador con eso por q no es un numero continuo y seria MUYYY
LAAARRRGGGOOOOO recorrerlo. Por eso el poner mi idea el PK en la tabla
temporal, alguna sugerencia es bienvenida!



Gracias.



Respuesta Responder a este mensaje
#2 Nicola Strappazzon
06/05/2005 - 16:18 | Informe spam
Ok. te pongo todos los datos.

el formato del archivo es asi: 500 mil de esos registros hay en el archivo
plano

11992015|06100102|67|11|6
11992015|06100101|67|16|6
11992015|06100103|67|14|6
11992015|06100108|68|13|6
11992015|06100206|68|14|6
11992015|06100205|68|13|6
11992015|06100201|68|15|6
11992015|06100207|68|13|6
11992015|06100203|68|14|6

creo una tabla temporal para guardar esos datos.

CREATE TABLE #tbl_TempFile(
PK_Line INT IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL PRIMARY KEY,
FK_Estudiante INT NOT NULL,
CodMateria VARCHAR(8) NOT NULL,
FK_Periodo INT NOT NULL,
Calificacion TINYINT NOT NULL,
ESTADO TINYINT NOT NULL
)

despues executo la inscruccion para ver importar los datos.

BULK INSERT #tbl_TempFile
FROM 'D:\My Documents\Visual Studio Projects\Applications\SAVA2.0\Datos de
prueba\Record Academico.TXT'
WITH(
FIELDTERMINATOR = '|',
ROWTERMINATOR = ''
)

Y despues suelta el siguiente error:

Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 1, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 2, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 3, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 4, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 5, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 6, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 7, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 8, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 9, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 10, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 11, column 5
(Calificacion).
Server: Msg 4865, Level 16, State 1, Line 1
Could not bulk insert because the maximum number of errors (10) was
exceeded.
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'STREAM' reported an error. The provider did not give any
information about the error.
OLE DB error trace [OLE/DB Provider 'STREAM' IRowset::GetNextRows returned
0x80004005: The provider did not give any information about the error.].
The statement has been terminated.

y alli me quede... no consigo info en internet:S

"Alejandro Mesa" wrote in message
news:

Nicola,

Vamos por parte, ok?

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
una
tabla con primary key, pero al hacerlo me da un error



Cual es el error que te da?

tabla con primary key, pero al hacerlo me da un error, le quito el
primary
key y funciona perfectamente, el caso es q tengo que después recorrer esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo,



Cual es la definicion de la tabla?. Danos un poco de informacion sobre esa
primary key.

Por que necesitas que el pk sea consecutivo?

AMB

"Nicola Strappazzon" wrote:

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
una
tabla con primary key, pero al hacerlo me da un error, le quito el
primary
key y funciona perfectamente, el caso es q tengo que después recorrer esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo, que es
la
Cedula de Identidad, como un numero de identificación en Venezuela, y no
puedo hacer un contador con eso por q no es un numero continuo y seria
MUYYY
LAAARRRGGGOOOOO recorrerlo. Por eso el poner mi idea el PK en la tabla
temporal, alguna sugerencia es bienvenida!



Gracias.



Respuesta Responder a este mensaje
#3 Nicola Strappazzon
06/05/2005 - 16:21 | Informe spam
Hola de nuevo, me olvidaba, si el primary key debe ser consecutivo.



"Alejandro Mesa" wrote in message
news:

Nicola,

Vamos por parte, ok?

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
una
tabla con primary key, pero al hacerlo me da un error



Cual es el error que te da?

tabla con primary key, pero al hacerlo me da un error, le quito el
primary
key y funciona perfectamente, el caso es q tengo que después recorrer esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo,



Cual es la definicion de la tabla?. Danos un poco de informacion sobre esa
primary key.

Por que necesitas que el pk sea consecutivo?

AMB

"Nicola Strappazzon" wrote:

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
una
tabla con primary key, pero al hacerlo me da un error, le quito el
primary
key y funciona perfectamente, el caso es q tengo que después recorrer esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo, que es
la
Cedula de Identidad, como un numero de identificación en Venezuela, y no
puedo hacer un contador con eso por q no es un numero continuo y seria
MUYYY
LAAARRRGGGOOOOO recorrerlo. Por eso el poner mi idea el PK en la tabla
temporal, alguna sugerencia es bienvenida!



Gracias.



Respuesta Responder a este mensaje
#4 Alejandro Mesa
06/05/2005 - 16:41 | Informe spam
Nicola,

El problema se debe a que el archivo de entrada no tiene los valores de la
columna identity. En este caso debes crear un archivo con la especificacion
del formato de la data contenida por tu archivo de entrada (exactamente igual
que cuando usas BCP) y usar la opcion FORMATFILE [ = 'format_file_path' ] de
la sentencia BULK INSERT. La otra opcion es crear la columna identity despues
que hayas importado la data. Esta ultima opcion te dara mejor rendimiento
puesto que mientras menos indices tengas, mas rapido sera el proceso de
importacion.


CREATE TABLE #tbl_TempFile(
FK_Estudiante INT NOT NULL,
CodMateria VARCHAR(8) NOT NULL,
FK_Periodo INT NOT NULL,
Calificacion TINYINT NOT NULL,
ESTADO TINYINT NOT NULL
)

BULK INSERT #tbl_TempFile
FROM 'D:\My Documents\Visual Studio Projects\Applications\SAVA2.0\Datos de
prueba\Record Academico.TXT'
WITH(
FIELDTERMINATOR = '|',
ROWTERMINATOR = ''
)

alter table #tbl_TempFile
add PK_Line INT IDENTITY (1, 1) NOT NULL constraint pk_#tbl_TempFile primary
key


AMB


"Nicola Strappazzon" wrote:

Ok. te pongo todos los datos.

el formato del archivo es asi: 500 mil de esos registros hay en el archivo
plano

11992015|06100102|67|11|6
11992015|06100101|67|16|6
11992015|06100103|67|14|6
11992015|06100108|68|13|6
11992015|06100206|68|14|6
11992015|06100205|68|13|6
11992015|06100201|68|15|6
11992015|06100207|68|13|6
11992015|06100203|68|14|6

creo una tabla temporal para guardar esos datos.

CREATE TABLE #tbl_TempFile(
PK_Line INT IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL PRIMARY KEY,
FK_Estudiante INT NOT NULL,
CodMateria VARCHAR(8) NOT NULL,
FK_Periodo INT NOT NULL,
Calificacion TINYINT NOT NULL,
ESTADO TINYINT NOT NULL
)

despues executo la inscruccion para ver importar los datos.

BULK INSERT #tbl_TempFile
FROM 'D:\My Documents\Visual Studio Projects\Applications\SAVA2.0\Datos de
prueba\Record Academico.TXT'
WITH(
FIELDTERMINATOR = '|',
ROWTERMINATOR = ''
)

Y despues suelta el siguiente error:

Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 1, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 2, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 3, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 4, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 5, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 6, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 7, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 8, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 9, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 10, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 11, column 5
(Calificacion).
Server: Msg 4865, Level 16, State 1, Line 1
Could not bulk insert because the maximum number of errors (10) was
exceeded.
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'STREAM' reported an error. The provider did not give any
information about the error.
OLE DB error trace [OLE/DB Provider 'STREAM' IRowset::GetNextRows returned
0x80004005: The provider did not give any information about the error.].
The statement has been terminated.

y alli me quede... no consigo info en internet:S

"Alejandro Mesa" wrote in message
news:
>
> Nicola,
>
> Vamos por parte, ok?
>
>> Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
>> una
>> tabla con primary key, pero al hacerlo me da un error
>
> Cual es el error que te da?
>
>> tabla con primary key, pero al hacerlo me da un error, le quito el
>> primary
>> key y funciona perfectamente, el caso es q tengo que después recorrer esa
>> tabla y necesito usar el primary key para poder hacerlo, ya que en el
>> archivo q estoy importando existe un primary key pero no continuo,
>
> Cual es la definicion de la tabla?. Danos un poco de informacion sobre esa
> primary key.
>
> Por que necesitas que el pk sea consecutivo?
>
> AMB
>
> "Nicola Strappazzon" wrote:
>
>> Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
>> una
>> tabla con primary key, pero al hacerlo me da un error, le quito el
>> primary
>> key y funciona perfectamente, el caso es q tengo que después recorrer esa
>> tabla y necesito usar el primary key para poder hacerlo, ya que en el
>> archivo q estoy importando existe un primary key pero no continuo, que es
>> la
>> Cedula de Identidad, como un numero de identificación en Venezuela, y no
>> puedo hacer un contador con eso por q no es un numero continuo y seria
>> MUYYY
>> LAAARRRGGGOOOOO recorrerlo. Por eso el poner mi idea el PK en la tabla
>> temporal, alguna sugerencia es bienvenida!
>>
>>
>>
>> Gracias.
>>
>>
>>



Respuesta Responder a este mensaje
#5 Gustavo Larriera [MVP]
06/05/2005 - 16:56 | Informe spam
Pues tienes mal el archivo de datos... te faltan datos para la última
columna (la tabla tiene 6 columnas y tu archivo de datos solamente tiene
datos para las 5 columnas iniciales)

Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.

"Nicola Strappazzon" wrote in message
news:
Ok. te pongo todos los datos.

el formato del archivo es asi: 500 mil de esos registros hay en el archivo
plano

11992015|06100102|67|11|6
11992015|06100101|67|16|6
11992015|06100103|67|14|6
11992015|06100108|68|13|6
11992015|06100206|68|14|6
11992015|06100205|68|13|6
11992015|06100201|68|15|6
11992015|06100207|68|13|6
11992015|06100203|68|14|6

creo una tabla temporal para guardar esos datos.

CREATE TABLE #tbl_TempFile(
PK_Line INT IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL PRIMARY KEY,
FK_Estudiante INT NOT NULL,
CodMateria VARCHAR(8) NOT NULL,
FK_Periodo INT NOT NULL,
Calificacion TINYINT NOT NULL,
ESTADO TINYINT NOT NULL
)

despues executo la inscruccion para ver importar los datos.

BULK INSERT #tbl_TempFile
FROM 'D:\My Documents\Visual Studio Projects\Applications\SAVA2.0\Datos de
prueba\Record Academico.TXT'
WITH(
FIELDTERMINATOR = '|',
ROWTERMINATOR = ''
)

Y despues suelta el siguiente error:

Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 1, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 2, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 3, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 4, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 5, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 6, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 7, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 8, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 9, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 10, column 5
(Calificacion).
Server: Msg 4864, Level 16, State 1, Line 1
Bulk insert data conversion error (type mismatch) for row 11, column 5
(Calificacion).
Server: Msg 4865, Level 16, State 1, Line 1
Could not bulk insert because the maximum number of errors (10) was
exceeded.
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'STREAM' reported an error. The provider did not give any
information about the error.
OLE DB error trace [OLE/DB Provider 'STREAM' IRowset::GetNextRows returned
0x80004005: The provider did not give any information about the error.].
The statement has been terminated.

y alli me quede... no consigo info en internet:S

"Alejandro Mesa" wrote in
message news:

Nicola,

Vamos por parte, ok?

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
una
tabla con primary key, pero al hacerlo me da un error



Cual es el error que te da?

tabla con primary key, pero al hacerlo me da un error, le quito el
primary
key y funciona perfectamente, el caso es q tengo que después recorrer
esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo,



Cual es la definicion de la tabla?. Danos un poco de informacion sobre
esa
primary key.

Por que necesitas que el pk sea consecutivo?

AMB

"Nicola Strappazzon" wrote:

Hola de nuevo muchachos, estoy tratando de poder importar un archivo a
una
tabla con primary key, pero al hacerlo me da un error, le quito el
primary
key y funciona perfectamente, el caso es q tengo que después recorrer
esa
tabla y necesito usar el primary key para poder hacerlo, ya que en el
archivo q estoy importando existe un primary key pero no continuo, que
es la
Cedula de Identidad, como un numero de identificación en Venezuela, y no
puedo hacer un contador con eso por q no es un numero continuo y seria
MUYYY
LAAARRRGGGOOOOO recorrerlo. Por eso el poner mi idea el PK en la tabla
temporal, alguna sugerencia es bienvenida!



Gracias.









Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida