Re: bcp -n -E fails on identity column
Frediano Ziglio <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CAHt6W4fNN_YciV5dkjz7RhJePsr9v2h1yPV46kA0Dp-eszFWzg@mail.gmail.com> |
2016-06-22 16:01 GMT+01:00 John Kendall <[email protected]>: > My last attempt to report this was a bit muddled. Here's another try. > Using version 1.00.6. > > Using the bcp -n (native file format) and -E (retain identity values) options together produces: > > Msg 20060, Level 11 > Unknown datatype encountered > > Error in bcp_colfmt col 1 > > > I see this happening on Sybase (11 & 16) and MS SQL 2008. > > > Test to reproduce: > > select id_col=identity(5) into tempdb..tbl -- Sybase > select id_col=identity(int) into tempdb..tbl -- MS SQL > > $ freebcp tempdb..tbl out tbl.bcp -S $DSQUERY -U usr -P pw -n -E > Msg 20060, Level 11 > Unknown datatype encountered > > Error in bcp_colfmt col 1 > > datacopy also has a problem with the -E option, I assume the problems are related. > > John > Hi, finally found some time to look at this issue. Basically the sequence become: 1- do a query to get row format 2- initialize bcp 3- do a query for identity inserts 4- fill the bcp columns information with information from step 1. The problem is that the step 3 clear the information needed in step 4. Moving the query at step 1 after 3 (I put after bcp_control and before bcp_columns) fix the issue. Not sure about datacopy. Can you test master (or tomorrow nightly snapshot) ? Frediano