2011-05-12 1 views
1

Je xp_cmdshell comme exécutais ci-dessous:XP_CMDSHELL erreur bcp

Exec XP_CMDSHELL 'bcp "Select OrderID, OrderDate, OrderDesc from DB.dbo.Order" queryout C:\Orderfile.txt -k -t \t -c -Slocalhost -T' 

Je suis l'erreur suivante:

"Impossible d'ouvrir BCP fichier de données hôte." J'ai regardé le lecteur c: \ et il y a un fichier Orderfile.txt existant. Et si je n'ai pas ouvert le fichier ou tout autre programme ne pas le fichier. Mais je reçois toujours cette erreur.

Quelqu'un at-il une idée de la raison de cette erreur? Merci d'avance.

Répondre

2

L'une des deux questions:

  • XP_CMDSHELL utilise les informations d'identification de compte de service SQL Server pour le système de fichiers (et d'autres) l'accès. Le compte de service ne sera pas disposer d'autorisations sur la racine de C: et il n'a pas d'importance si vous pouvez le voir

  • SQL Server se trouve sur un serveur quelque part (qui est, n'est pas une installation locale) et vous essayez d'accéder à votre lecteur C: local. SQL Server ne peut pas voir cela bien sûr ...

+0

Merci, j'ai créé le fichier dans le serveur et cela fonctionne très bien. – niceApp

0

Il doit y avoir une autorisation complète sur le lecteur. Le fichier est créé automatiquement. exec master..xp_cmdshell 'BCP "Select * from [Test] [dbo] [Client].". Queryout C: \ Backup \ customer123.txt S HP-PC -T -c'

enter image description here

Questions connexes