PDA

View Full Version : [Sql Server 2008]Importazione dati esterni


RaouL_BennetH
29-12-2010, 11:16
Ciao a tutti :)

Ho un banale foglio di excel con dei semplici dati.

Ho eseguito il wizard per l'importazione dei dati in una tabella mediante:

Database->Tasks->Import/Export

Ho scelto il file, ho dato il nome alla tabella da creare e tutto è andato bene.

Il problema che ho è che non riesco a inserire i dati di questa nuova tabella in una tabella già esistente che ha dei campi unique.

Per es.:


tabella creata: dbo.ImportedTable
ragionesociale - indirizzo - comune - provincia - cap

'La tabella creata per l'importazione ha la stessa struttura di quella già esistente..

insert into tabellaEsistente(ragionesociale, indirizzo, comune, provincia, cap)

select * from tabellaImportata

errore ottenuto:
Msg 2601, Level 14, State 1, Line 2
Cannot insert duplicate key row in object 'dbo.tabellaEsistente'
with unique index 'IX_tabellaEsistente'



All'inizio ho pensato che ci fosse una stessa 'ragionesociale' (che è l'unico campo unique) ma invece non ve ne sono. Sono tutte 'uniche'.

Non so più dove sbattere la testa...

RaouL.

Sisupoika
29-12-2010, 16:26
Se usi select * e' normale che ricevi quell'errore perche' seleziona anche la primary key/ id.

Dovresti fare qualcosa tipo

insert into tabellaEsistente(ragionesociale, indirizzo, comune, provincia, cap)

select ragionesociale, indirizzo, comune, provincia, cap from tabellaImportata


per escludere la pk e far si' che sia le colonne che l'ordine siano corretti e compatibili con quanto specificato nella insert.

RaouL_BennetH
30-12-2010, 01:35
Se usi select * e' normale che ricevi quell'errore perche' seleziona anche la primary key/ id.

Dovresti fare qualcosa tipo

insert into tabellaEsistente(ragionesociale, indirizzo, comune, provincia, cap)

select ragionesociale, indirizzo, comune, provincia, cap from tabellaImportata


per escludere la pk e far si' che sia le colonne che l'ordine siano corretti e compatibili con quanto specificato nella insert.

Ciao :)

Ho provato anche con il tuo suggerimento ma il risultato non cambia.

La tabella esistente ha nella "ragionesociale" la unique key. Di duplicati nel file di excel di origine non ve ne sono :muro:

Sisupoika
30-12-2010, 12:21
Ciao :)

Ho provato anche con il tuo suggerimento ma il risultato non cambia.

La tabella esistente ha nella "ragionesociale" la unique key. Di duplicati nel file di excel di origine non ve ne sono :muro:

Ah, OK, non avevo inteso bene allora.
Ma la tabella esistente e' vuota o..?

RaouL_BennetH
31-12-2010, 09:43
Si è vuota :(

Sisupoika
31-12-2010, 13:51
Si è vuota :(

Allora chiama un esorcista :D

RaouL_BennetH
03-01-2011, 12:17
Allora chiama un esorcista :D

Più che altro ho chiamato un bravo oculista......

c'era un solo maledetto record duplicato all'interno dello stra-maledetto foglio di excel :muro:

Ora tutto è ok..... :)

Buon anno !!