Salta la colonna del file host nel file in formato bcp Sybase

bcp bulk sqlbulkcopy sybase sybase-ase

Domanda

Ho un file texte csv come questo:

SicID;PorID;FarId;Company;DecadeId;SocName;FarName
A1;A2;A3;A4;A5;A6;A7
B1;B2;B3;B4;B5;B6;B7
C1;C2;C3;C4;C5;C6;C7

Voglio usare Bcp Sybase per importare questo file in my_table ma solo SicID, PorID e SocName. Quindi io uso questo file in formato bcp:

10.0
8
1   SYBCHAR 0   2   ";" 1   SicId
2   SYBCHAR 0   2   ";" 2   PorId
3   SYBCHAR 0   0   ""  0   FundId
4   SYBCHAR 0   0   ""  0   Company
5   SYBCHAR 0   0   ""  0   DomicileId
6   SYBCHAR 0   2   ";" 3   SocName
7   SYBCHAR 0   0   ""  0   FundName
8   SYBCHAR 0   10  "\r\n" 0    end

Sfortunatamente, quando lo importa, my_table non ha i buoni dati. Non salta la colonna host di 3,4,5 del file di testo e riempie my_table con altre colonne con un significato incomprensibile.

C'è una soluzione per saltare la colonna host per riempire il mio tavolo in questo modo?

my_table

SicID;PorID;SocName
A1;A2;A6
B1;B2;B6
C1;C2;C6

Risposta popolare

Il problema che hai è che non ci sono caratteri di terminazione sulle colonne che vuoi omettere, per favore controlla l'immagine seguente (l' ho presa da qui ):

inserisci la descrizione dell'immagine qui

Fondamentalmente, se vuoi omettere una colonna che arriva nel file sorgente, solo:

  1. Utilizza come Ordine colonna server = 0
  2. Il terminatore deve essere specificato!
  3. Anche la lunghezza del file sorgente è importante.
  4. Il nome della colonna del server è solo informativo

Ad esempio, utilizzando i dati di esempio forniti nella domanda, il file .fmt dovrebbe avere il seguente aspetto:

10.0
8
1   SYBCHAR 0   2   ";"    1   SicId
2   SYBCHAR 0   2   ";"    2   PorId
3   SYBCHAR 0   2   ";"    0   FarId
4   SYBCHAR 0   2   ";"    0   Company
5   SYBCHAR 0   2   ";"    0   DecadeId
6   SYBCHAR 0   2   ";"    3   SocName
7   SYBCHAR 0   2   ";"    0   FarName
8   SYBCHAR 0   10  "\r\n" 0   end


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow