Domanda

Sono in esecuzione di una copia di massa di due colonne di una tabella da un server a un altro.

La tabella a lato sorgente ha circa 8 colonne, ma solo bisogno 2.

La tabella sul lato destinazione ha 2 colonne (il due che ho bisogno, entrambi sono di tipo int)

Entrambi i database sono SQL Server 2005.

Ecco le mie due comandi BCP:

c:\> bcp "select c1, c2 from srcTable" queryout tableData.bcp -N -T -S srcServer
c:\> bcp destTable in tableData.bcp -N -T -S destServer

Perché questo danneggiare i dati nella tabella di destinazione? Dovrei ottenere belle, interi sequenziali, invece ottengo questo:

c1          c2
586332      83014148
123128736   -105042384
-561616278  -309997736

Che cosa sto facendo di sbagliato?

È stato utile?

Soluzione

Ci sono.

La definizione colonna deve corrispondere esattamente -. indicando se si tratta NULL o NOT NULL

La fonte aveva:

srcTable (
c1 int not null (PK)
c2 int null
c3 datetime not null
c4 datetime null
...
)

La tabella di destinazione ha avuto:

destTable (
c1 int not null (PK)
c2 int not null 
)

Il NOT NULL sulla destTable.c2 era il bug.

E 'stato schiacciato ora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top