Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilitaire bcp en commande sql

6 réponses
Avatar
Christian
Bonjour,

je lance une commande SQL sous cette forme :

declare @sql varchar(4000)
set @sql = 'bcp base.dbo.table out e:\export\mon_fichier.csv -t; -c
-Smon_serveur -E -Pmot_passe'
exec master..xp_cmdshell @sql

et j'ai cette erreur :
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host data-file

si qq un a déjà rencontré cette erreur, merci.

6 réponses

Avatar
Romelard Fabrice [MVP]
Bonjour,

Quelle version de SQL Server ?
Avez-vous activé la possibilité d'utiliser cmdshell ?

Cela se fait par l'outil de configuration de 2005.

--
Cordialement.

Romelard Fabrice [MVP]

"Christian" a écrit dans le message de
news:
Bonjour,

je lance une commande SQL sous cette forme :

declare @sql varchar(4000)
set @sql = 'bcp base.dbo.table out e:exportmon_fichier.csv -t; -c
-Smon_serveur -E -Pmot_passe'
exec master..xp_cmdshell @sql

et j'ai cette erreur :
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host
data-file

si qq un a déjà rencontré cette erreur, merci.




Avatar
Christian
Bonjour,

J'ai essayé cette commande sous sql server 2000 et sous sql server 2005, la
fonction cmdshell est bien activée sur 2005.
D'après mes débuts de recherche, cela viendrait d'un pb de permission. C'est
assez vague car s'il s'agit d'un bug, il ne semble pas avoir encore été réglé
(d'après mes premières lectures sur différents forum anglais et / ou français)



"Romelard Fabrice [MVP]" a écrit :

Bonjour,

Quelle version de SQL Server ?
Avez-vous activé la possibilité d'utiliser cmdshell ?

Cela se fait par l'outil de configuration de 2005.

--
Cordialement.

Romelard Fabrice [MVP]

"Christian" a écrit dans le message de
news:
> Bonjour,
>
> je lance une commande SQL sous cette forme :
>
> declare @sql varchar(4000)
> set @sql = 'bcp base.dbo.table out e:exportmon_fichier.csv -t; -c
> -Smon_serveur -E -Pmot_passe'
> exec master..xp_cmdshell @sql
>
> et j'ai cette erreur :
> SQLState = S1000, NativeError = 0
> Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host
> data-file
>
> si qq un a déjà rencontré cette erreur, merci.
>
>





Avatar
Christian
en fait j'ai résolu une partie du pb. Cette erreur venait du chemin pour le
fichier de sorti. Exécutant cette commande de mon poste, j'ai mis un chemin
local or il faut spécifier un chemin valide du serveur (mon_serveur).
En revanche, lorsque je lance ensuite cette commande, j'ai le message
suivant :
Unknown argument 'SQL' on command line.
Ne peut-on pas exécuter cette commande en SQL dynamique ??? Je suis étonné.
Si quelqu'un à une idée. Merci


"Christian" a écrit :

Bonjour,

J'ai essayé cette commande sous sql server 2000 et sous sql server 2005, la
fonction cmdshell est bien activée sur 2005.
D'après mes débuts de recherche, cela viendrait d'un pb de permission. C'est
assez vague car s'il s'agit d'un bug, il ne semble pas avoir encore été réglé
(d'après mes premières lectures sur différents forum anglais et / ou français)



"Romelard Fabrice [MVP]" a écrit :

> Bonjour,
>
> Quelle version de SQL Server ?
> Avez-vous activé la possibilité d'utiliser cmdshell ?
>
> Cela se fait par l'outil de configuration de 2005.
>
> --
> Cordialement.
>
> Romelard Fabrice [MVP]
>
> "Christian" a écrit dans le message de
> news:
> > Bonjour,
> >
> > je lance une commande SQL sous cette forme :
> >
> > declare @sql varchar(4000)
> > set @sql = 'bcp base.dbo.table out e:exportmon_fichier.csv -t; -c
> > -Smon_serveur -E -Pmot_passe'
> > exec master..xp_cmdshell @sql
> >
> > et j'ai cette erreur :
> > SQLState = S1000, NativeError = 0
> > Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host
> > data-file
> >
> > si qq un a déjà rencontré cette erreur, merci.
> >
> >
>
>
>


Avatar
Patrice
Cela ressemble plutôt à un message d'erreur issue de BCP. Imprimer la ligne
de commande au lieu de l'exécuter pour voir si elle est correct
(éventuellement lancer la même commande manuellement pour vérifier qu'elle
s'exécute bien).

--
Patrice

"Christian" a écrit dans le message de
news:
en fait j'ai résolu une partie du pb. Cette erreur venait du chemin pour
le
fichier de sorti. Exécutant cette commande de mon poste, j'ai mis un
chemin
local or il faut spécifier un chemin valide du serveur (mon_serveur).
En revanche, lorsque je lance ensuite cette commande, j'ai le message
suivant :
Unknown argument 'SQL' on command line.
Ne peut-on pas exécuter cette commande en SQL dynamique ??? Je suis
étonné.
Si quelqu'un à une idée. Merci


"Christian" a écrit :

Bonjour,

J'ai essayé cette commande sous sql server 2000 et sous sql server 2005,
la
fonction cmdshell est bien activée sur 2005.
D'après mes débuts de recherche, cela viendrait d'un pb de permission.
C'est
assez vague car s'il s'agit d'un bug, il ne semble pas avoir encore été
réglé
(d'après mes premières lectures sur différents forum anglais et / ou
français)



"Romelard Fabrice [MVP]" a écrit :

> Bonjour,
>
> Quelle version de SQL Server ?
> Avez-vous activé la possibilité d'utiliser cmdshell ?
>
> Cela se fait par l'outil de configuration de 2005.
>
> --
> Cordialement.
>
> Romelard Fabrice [MVP]
>
> "Christian" a écrit dans le
> message de
> news:
> > Bonjour,
> >
> > je lance une commande SQL sous cette forme :
> >
> > declare @sql varchar(4000)
> > set @sql = 'bcp base.dbo.table out e:exportmon_fichier.csv -t; -c
> > -Smon_serveur -E -Pmot_passe'
> > exec master..xp_cmdshell @sql
> >
> > et j'ai cette erreur :
> > SQLState = S1000, NativeError = 0
> > Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host
> > data-file
> >
> > si qq un a déjà rencontré cette erreur, merci.
> >
> >
>
>
>




Avatar
Christian
en effet, il avait une petite erreur sur le chemin (pb des espaces).
Maintenant, la commande s'exécute, j'obtiens les lignes de résultats en
sortie mais mon fichier .csv n'est nulle part : ni sur mon poste, ni sur le
serveur.

???



"Patrice" a écrit :

Cela ressemble plutôt à un message d'erreur issue de BCP. Imprimer la ligne
de commande au lieu de l'exécuter pour voir si elle est correct
(éventuellement lancer la même commande manuellement pour vérifier qu'elle
s'exécute bien).

--
Patrice

"Christian" a écrit dans le message de
news:
> en fait j'ai résolu une partie du pb. Cette erreur venait du chemin pour
> le
> fichier de sorti. Exécutant cette commande de mon poste, j'ai mis un
> chemin
> local or il faut spécifier un chemin valide du serveur (mon_serveur).
> En revanche, lorsque je lance ensuite cette commande, j'ai le message
> suivant :
> Unknown argument 'SQL' on command line.
> Ne peut-on pas exécuter cette commande en SQL dynamique ??? Je suis
> étonné.
> Si quelqu'un à une idée. Merci
>
>
> "Christian" a écrit :
>
>> Bonjour,
>>
>> J'ai essayé cette commande sous sql server 2000 et sous sql server 2005,
>> la
>> fonction cmdshell est bien activée sur 2005.
>> D'après mes débuts de recherche, cela viendrait d'un pb de permission.
>> C'est
>> assez vague car s'il s'agit d'un bug, il ne semble pas avoir encore été
>> réglé
>> (d'après mes premières lectures sur différents forum anglais et / ou
>> français)
>>
>>
>>
>> "Romelard Fabrice [MVP]" a écrit :
>>
>> > Bonjour,
>> >
>> > Quelle version de SQL Server ?
>> > Avez-vous activé la possibilité d'utiliser cmdshell ?
>> >
>> > Cela se fait par l'outil de configuration de 2005.
>> >
>> > --
>> > Cordialement.
>> >
>> > Romelard Fabrice [MVP]
>> >
>> > "Christian" a écrit dans le
>> > message de
>> > news:
>> > > Bonjour,
>> > >
>> > > je lance une commande SQL sous cette forme :
>> > >
>> > > declare @sql varchar(4000)
>> > > set @sql = 'bcp base.dbo.table out e:exportmon_fichier.csv -t; -c
>> > > -Smon_serveur -E -Pmot_passe'
>> > > exec master..xp_cmdshell @sql
>> > >
>> > > et j'ai cette erreur :
>> > > SQLState = S1000, NativeError = 0
>> > > Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host
>> > > data-file
>> > >
>> > > si qq un a déjà rencontré cette erreur, merci.
>> > >
>> > >
>> >
>> >
>> >





Avatar
Bouarroudj Mohamed
Vous deviez chercher le fichier sur le serveur et non sur le client

executez :

exec master..xp_cmdshell 'dir path*.*'
en remplacant le path par celui defini dans le BCP OUT, le fichier existera
si la commande BCP est executée sans erreur


Bouarroudj Mohamed
www.SQLDBTools.com


"Christian" wrote in message
news:
en effet, il avait une petite erreur sur le chemin (pb des espaces).
Maintenant, la commande s'exécute, j'obtiens les lignes de résultats en
sortie mais mon fichier .csv n'est nulle part : ni sur mon poste, ni sur
le
serveur.

???



"Patrice" a écrit :

Cela ressemble plutôt à un message d'erreur issue de BCP. Imprimer la
ligne
de commande au lieu de l'exécuter pour voir si elle est correct
(éventuellement lancer la même commande manuellement pour vérifier
qu'elle
s'exécute bien).

--
Patrice

"Christian" a écrit dans le message
de
news:
> en fait j'ai résolu une partie du pb. Cette erreur venait du chemin
> pour
> le
> fichier de sorti. Exécutant cette commande de mon poste, j'ai mis un
> chemin
> local or il faut spécifier un chemin valide du serveur (mon_serveur).
> En revanche, lorsque je lance ensuite cette commande, j'ai le message
> suivant :
> Unknown argument 'SQL' on command line.
> Ne peut-on pas exécuter cette commande en SQL dynamique ??? Je suis
> étonné.
> Si quelqu'un à une idée. Merci
>
>
> "Christian" a écrit :
>
>> Bonjour,
>>
>> J'ai essayé cette commande sous sql server 2000 et sous sql server
>> 2005,
>> la
>> fonction cmdshell est bien activée sur 2005.
>> D'après mes débuts de recherche, cela viendrait d'un pb de permission.
>> C'est
>> assez vague car s'il s'agit d'un bug, il ne semble pas avoir encore
>> été
>> réglé
>> (d'après mes premières lectures sur différents forum anglais et / ou
>> français)
>>
>>
>>
>> "Romelard Fabrice [MVP]" a écrit :
>>
>> > Bonjour,
>> >
>> > Quelle version de SQL Server ?
>> > Avez-vous activé la possibilité d'utiliser cmdshell ?
>> >
>> > Cela se fait par l'outil de configuration de 2005.
>> >
>> > --
>> > Cordialement.
>> >
>> > Romelard Fabrice [MVP]
>> >
>> > "Christian" a écrit dans le
>> > message de
>> > news:
>> > > Bonjour,
>> > >
>> > > je lance une commande SQL sous cette forme :
>> > >
>> > > declare @sql varchar(4000)
>> > > set @sql = 'bcp base.dbo.table out
>> > > e:exportmon_fichier.csv -t; -c
>> > > -Smon_serveur -E -Pmot_passe'
>> > > exec master..xp_cmdshell @sql
>> > >
>> > > et j'ai cette erreur :
>> > > SQLState = S1000, NativeError = 0
>> > > Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host
>> > > data-file
>> > >
>> > > si qq un a déjà rencontré cette erreur, merci.
>> > >
>> > >
>> >
>> >
>> >