[MSSQL2000] - bcp.exe avec une requete de type FOR XML, ELEMENTS
Bonjour a tous,
J'ai la procédure stockée suivante :
Code:
1 2 3 4 5 6 7 8
|
CREATE PROCEDURE SP_NMD_ESSAI AS
DECLARE @myCMD VARCHAR(8000)
SET @myCMD = 'bcp "SELECT myCol1 as CustomerID, myCol2 as CustomerName FROM DBmyTEST.dbo.tbl_customers Customer FOR XML AUTO, ELEMENTS" queryout \essai.txt -S SQLSRV2000 -U sa -P **** -c -r -t'
EXEC master..xp_cmdshell @myCMD
GO |
J'obtiens les WARNINGS suivants :
Citation:
NULL
Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]Warning: Server data (3046 bytes) exceeds host-file field length (0 bytes) for field (1). Use prefix length, termination string, or a larger host-file field size. Truncation cannot occur for BCP output files.
En gros il semblerait que bcp.exe n'exporte le résultat de ma requête créant le XML que sur une seule ligne. évidemment, la ligne est trop petite. Du coup le fichier n'est non seulement pas exploitable mais il est également incomplet.
Je pensais qu'en utilisant les options -c -r -t je ne rencontrerais pas ce type d'erreur. Il semblerait que la nature de la requête FOR XML AUTO soit à l’origine du problème.
Quelqu'un a-t-il déjà rencontré / surmonté ce problème ? Devrais-je m’y prendre autrement pour créer mon fichier XML ?
Par avance merci