Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

bcp - export xml

5 views
Skip to first unread message

Enrica

unread,
Jun 1, 2004, 12:04:37 PM6/1/04
to
Devo esportare in xml il risultato di una query.
ho creato una sp che contiene la query:

select codice, ragionesociale
from clienti
FOR XML AUTO, ELEMENTS

uso poi il comando:

bcp "EXEC Mydb..sproc_Clienti" queryout
c:\temp\bcpOut.xml -S. -Usa -P -c -t

Il file che ottengo, a parte header e footer xml
mancanti, presenta dei ritorni a capo (0D 0A) ogni 2035 -
2040 caratteri. (Dipende dal packet size?)

Se aggiungo l'opzione -r ottengo:

SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]
Avviso: i dati del server (3046 byte) superano la
lunghezza del campo host-file (0 byte) per il campo (1)
. Utilizzare la lunghezza di prefisso, una stringa di
terminazione o una dimensione maggiore del campo host-
file. Non si possono verificare troncamenti per i file di
output BCP.

Io non voglio i ritorni a capo nel file xml, cosa sto
sbagliando?
Avete qualche suggerimento?

Grazie

Enrica

Enrica

unread,
Jun 14, 2004, 11:59:17 AM6/14/04
to
Ciao a tutti

ho trovato questo documento, non risolve nulla ma conferma la situazione che
ho rilevato.

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q275583

Enrica


"Enrica" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:169b801c447f2$2377ad80$a001...@phx.gbl...

Andrea Montanari

unread,
Jun 14, 2004, 12:41:36 PM6/14/04
to
salve Enrica,

"Enrica" <anon...@discussions.microsoft.com> ha scritto nel messaggio
news:%23zGKPii...@TK2MSFTNGP12.phx.gbl...

> Ciao a tutti
>
> ho trovato questo documento, non risolve nulla ma conferma la situazione
che
> ho rilevato.
>
> http://support.microsoft.com/default.aspx?scid=kb;en-us;Q275583
>
> Enrica
>

da quello che leggo solo utilizzando driver/provider ODBC ottieni questo
risultato, dove invece utilizzando provider OLE-DB dovresti giungere al
risultato corretto....
potresti effettuare il tutto lato client, popolando il resulteset ritornato
dalla stored procedure ed effettuare il salvataggio su file internamente
all'applicazione... pero' tutto lato client, e cio' vuol probabilmente dire
anche che il file sara' salvato non sul server come con l'operazione BCP ma
sul client...
--
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtm http://italy.mvps.org
DbaMgr2k ver 0.8.0 - DbaMgr ver 0.54.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

Enrica

unread,
Jun 21, 2004, 4:15:09 PM6/21/04
to
Si, ho visto che si tratta di un problema legato all'ODBC, ma io non ho
un'applicazione client:
devo esportare dati, con frequenza giornaliera, in alcuni file xml che
verranno successivamente letti da un'altra procedura automatica non basata
su SQL.
Devo quindi generare file che restano sul server.
Ho visto che posso fare un DTS con un task ActiveX tramite il quale popolare
il resultset e creare i file XML... ma alla fine ho optato x fare un parsing
e "pulire" i file XML successivamente alla creazione. Se poi il nuovo SQL
non presenterà più questo problema sarà sufficiente eliminare il
post-processing dei file xml.

Sono graditi ovviamente commenti sulla scelta che ho fatto.

Grazie ancora

Enrica

"Andrea Montanari" <andrea...@virgilio.it> ha scritto nel messaggio
news:2j62rjF...@uni-berlin.de...

0 new messages