OVH Cloud OVH Cloud

Pb OLE Automation

5 réponses
Avatar
Nogema
Bonjour,

Je travaille avec Sqlserver 2005 Express sous windows XP.

Développement sous visual studio 2005 en vb.

Nous utilisons les fonctions OLE dans des procédures stockées.

EXECUTE @OLEHDL = sp_OACreate 'Scripting.FileSystemObject',

@FILE_HANDLE OUT

IF @OLEHDL <> 0

BEGIN

RAISERROR('L''objet OLE n''a pas pu être créé', 16, 1, @NOM_FICHIER)

RETURN

END



---- Déplace le fichier

declare @x varchar(1000)

set @x = 'MoveFile("'+ rtrim(@NOM_FICHIER) + '","' + rtrim(@NOM_FICHIER_NV)
+ '")'

print @x

EXECUTE @OLEHDL = sp_OAMethod @FILE_HANDLE,@x


Sur notre poste de développement, cela fonctionne correctement.

Chez notre client, on récupère une erreur -214.... (du type object non créé)
La case Activer OLE Automation est bien cochée.

Est-ce quelqu'un a déjà rencontré ce type de problème ?

Merci d'avance

Jérôme MATHIEU

5 réponses

Avatar
Philippe T [MS]
Bonjour,

Vous êtes également sous XP chez votre client ? Avez vous des droits NTFS
positionnés sur les répertoires ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Je travaille avec Sqlserver 2005 Express sous windows XP.

Développement sous visual studio 2005 en vb.

Nous utilisons les fonctions OLE dans des procédures stockées.

EXECUTE @OLEHDL = sp_OACreate 'Scripting.FileSystemObject',

@FILE_HANDLE OUT

IF @OLEHDL <> 0

BEGIN

RAISERROR('L''objet OLE n''a pas pu être créé', 16, 1, @NOM_FICHIER)

RETURN

END



---- Déplace le fichier

declare @x varchar(1000)

set @x = 'MoveFile("'+ rtrim(@NOM_FICHIER) + '","' +
rtrim(@NOM_FICHIER_NV) + '")'

print @x

EXECUTE @OLEHDL = sp_OAMethod @FILE_HANDLE,@x


Sur notre poste de développement, cela fonctionne correctement.

Chez notre client, on récupère une erreur -214.... (du type object non
créé)
La case Activer OLE Automation est bien cochée.

Est-ce quelqu'un a déjà rencontré ce type de problème ?

Merci d'avance

Jérôme MATHIEU







Avatar
Nogema
Bonjour,

Oui XP chez le client,
le code erreur exacte = 2146828218
Le return code de sp_Oamethod est -6

A priori, c'est un problème de droit, en partageant le répertoire sur le
réseau et en autorisant l'accès en lecture et écriture à tous, cela
fonctionne correctement.
Par contre, lorsque je fais propriété sur ce répertoire, il reste toujours
en lecture seule même après avoir décoché la case !!! (je suis
administrateur de ma machine)

bizarre.

Peut-on lors de l'installation du programme ou par code s'assurer que lors
du déroulement de la procédure stockée il n'y ai pas de soucis de droit
d'accès dans un répertoire ?

merci pour vos informations.

Jérôme.

----- Original Message -----
From: "Philippe T [MS]"
Newsgroups: microsoft.public.fr.sqlserver
Sent: Tuesday, July 18, 2006 4:17 PM
Subject: Re: Pb OLE Automation


Bonjour,

Vous êtes également sous XP chez votre client ? Avez vous des droits NTFS
positionnés sur les répertoires ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Je travaille avec Sqlserver 2005 Express sous windows XP.

Développement sous visual studio 2005 en vb.

Nous utilisons les fonctions OLE dans des procédures stockées.

EXECUTE @OLEHDL = sp_OACreate 'Scripting.FileSystemObject',

@FILE_HANDLE OUT

IF @OLEHDL <> 0

BEGIN

RAISERROR('L''objet OLE n''a pas pu être créé', 16, 1, @NOM_FICHIER)

RETURN

END



---- Déplace le fichier

declare @x varchar(1000)

set @x = 'MoveFile("'+ rtrim(@NOM_FICHIER) + '","' +
rtrim(@NOM_FICHIER_NV) + '")'

print @x

EXECUTE @OLEHDL = sp_OAMethod @FILE_HANDLE,@x


Sur notre poste de développement, cela fonctionne correctement.

Chez notre client, on récupère une erreur -214.... (du type object non
créé)
La case Activer OLE Automation est bien cochée.

Est-ce quelqu'un a déjà rencontré ce type de problème ?

Merci d'avance

Jérôme MATHIEU











Avatar
Philippe T [MS]
Bonjour,

Le droit de l'utilisateur SQL d'un point de vu système doit correspondre aux
droits du compte de service SQL (celui de l'agent SQL si vous lancer la
procédure via un job ou celui du service SQL Server si vous l'exécuter en
interactif ou en batch).

Avez vous essayé de fixer des droits NTFS pour ces comptes ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Oui XP chez le client,
le code erreur exacte = 2146828218
Le return code de sp_Oamethod est -6

A priori, c'est un problème de droit, en partageant le répertoire sur le
réseau et en autorisant l'accès en lecture et écriture à tous, cela
fonctionne correctement.
Par contre, lorsque je fais propriété sur ce répertoire, il reste toujours
en lecture seule même après avoir décoché la case !!! (je suis
administrateur de ma machine)

bizarre.

Peut-on lors de l'installation du programme ou par code s'assurer que lors
du déroulement de la procédure stockée il n'y ai pas de soucis de droit
d'accès dans un répertoire ?

merci pour vos informations.

Jérôme.

----- Original Message -----
From: "Philippe T [MS]"
Newsgroups: microsoft.public.fr.sqlserver
Sent: Tuesday, July 18, 2006 4:17 PM
Subject: Re: Pb OLE Automation


Bonjour,

Vous êtes également sous XP chez votre client ? Avez vous des droits NTFS
positionnés sur les répertoires ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Je travaille avec Sqlserver 2005 Express sous windows XP.

Développement sous visual studio 2005 en vb.

Nous utilisons les fonctions OLE dans des procédures stockées.

EXECUTE @OLEHDL = sp_OACreate 'Scripting.FileSystemObject',

@FILE_HANDLE OUT

IF @OLEHDL <> 0

BEGIN

RAISERROR('L''objet OLE n''a pas pu être créé', 16, 1, @NOM_FICHIER)

RETURN

END



---- Déplace le fichier

declare @x varchar(1000)

set @x = 'MoveFile("'+ rtrim(@NOM_FICHIER) + '","' +
rtrim(@NOM_FICHIER_NV) + '")'

print @x

EXECUTE @OLEHDL = sp_OAMethod @FILE_HANDLE,@x


Sur notre poste de développement, cela fonctionne correctement.

Chez notre client, on récupère une erreur -214.... (du type object non
créé)
La case Activer OLE Automation est bien cochée.

Est-ce quelqu'un a déjà rencontré ce type de problème ?

Merci d'avance

Jérôme MATHIEU
















Avatar
Nogema
Bonjour,

Cela fonctionne correctement en modifiant les droits NTFS du service
SqlServer

Merci

Jérôme.

"Philippe T [MS]" a écrit dans le message de
news: %
Bonjour,

Le droit de l'utilisateur SQL d'un point de vu système doit correspondre
aux droits du compte de service SQL (celui de l'agent SQL si vous lancer
la procédure via un job ou celui du service SQL Server si vous l'exécuter
en interactif ou en batch).

Avez vous essayé de fixer des droits NTFS pour ces comptes ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Oui XP chez le client,
le code erreur exacte = 2146828218
Le return code de sp_Oamethod est -6

A priori, c'est un problème de droit, en partageant le répertoire sur le
réseau et en autorisant l'accès en lecture et écriture à tous, cela
fonctionne correctement.
Par contre, lorsque je fais propriété sur ce répertoire, il reste
toujours
en lecture seule même après avoir décoché la case !!! (je suis
administrateur de ma machine)

bizarre.

Peut-on lors de l'installation du programme ou par code s'assurer que
lors
du déroulement de la procédure stockée il n'y ai pas de soucis de droit
d'accès dans un répertoire ?

merci pour vos informations.

Jérôme.

----- Original Message -----
From: "Philippe T [MS]"
Newsgroups: microsoft.public.fr.sqlserver
Sent: Tuesday, July 18, 2006 4:17 PM
Subject: Re: Pb OLE Automation


Bonjour,

Vous êtes également sous XP chez votre client ? Avez vous des droits
NTFS positionnés sur les répertoires ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Je travaille avec Sqlserver 2005 Express sous windows XP.

Développement sous visual studio 2005 en vb.

Nous utilisons les fonctions OLE dans des procédures stockées.

EXECUTE @OLEHDL = sp_OACreate 'Scripting.FileSystemObject',

@FILE_HANDLE OUT

IF @OLEHDL <> 0

BEGIN

RAISERROR('L''objet OLE n''a pas pu être créé', 16, 1, @NOM_FICHIER)

RETURN

END



---- Déplace le fichier

declare @x varchar(1000)

set @x = 'MoveFile("'+ rtrim(@NOM_FICHIER) + '","' +
rtrim(@NOM_FICHIER_NV) + '")'

print @x

EXECUTE @OLEHDL = sp_OAMethod @FILE_HANDLE,@x


Sur notre poste de développement, cela fonctionne correctement.

Chez notre client, on récupère une erreur -214.... (du type object non
créé)
La case Activer OLE Automation est bien cochée.

Est-ce quelqu'un a déjà rencontré ce type de problème ?

Merci d'avance

Jérôme MATHIEU




















Avatar
Philippe T [MS]
Bonjour,

Pas de quoi :-)

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Cela fonctionne correctement en modifiant les droits NTFS du service
SqlServer

Merci

Jérôme.

"Philippe T [MS]" a écrit dans le message
de news: %
Bonjour,

Le droit de l'utilisateur SQL d'un point de vu système doit correspondre
aux droits du compte de service SQL (celui de l'agent SQL si vous lancer
la procédure via un job ou celui du service SQL Server si vous l'exécuter
en interactif ou en batch).

Avez vous essayé de fixer des droits NTFS pour ces comptes ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Oui XP chez le client,
le code erreur exacte = 2146828218
Le return code de sp_Oamethod est -6

A priori, c'est un problème de droit, en partageant le répertoire sur le
réseau et en autorisant l'accès en lecture et écriture à tous, cela
fonctionne correctement.
Par contre, lorsque je fais propriété sur ce répertoire, il reste
toujours
en lecture seule même après avoir décoché la case !!! (je suis
administrateur de ma machine)

bizarre.

Peut-on lors de l'installation du programme ou par code s'assurer que
lors
du déroulement de la procédure stockée il n'y ai pas de soucis de droit
d'accès dans un répertoire ?

merci pour vos informations.

Jérôme.

----- Original Message -----
From: "Philippe T [MS]"
Newsgroups: microsoft.public.fr.sqlserver
Sent: Tuesday, July 18, 2006 4:17 PM
Subject: Re: Pb OLE Automation


Bonjour,

Vous êtes également sous XP chez votre client ? Avez vous des droits
NTFS positionnés sur les répertoires ?

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Nogema" wrote in message
news:
Bonjour,

Je travaille avec Sqlserver 2005 Express sous windows XP.

Développement sous visual studio 2005 en vb.

Nous utilisons les fonctions OLE dans des procédures stockées.

EXECUTE @OLEHDL = sp_OACreate 'Scripting.FileSystemObject',

@FILE_HANDLE OUT

IF @OLEHDL <> 0

BEGIN

RAISERROR('L''objet OLE n''a pas pu être créé', 16, 1, @NOM_FICHIER)

RETURN

END



---- Déplace le fichier

declare @x varchar(1000)

set @x = 'MoveFile("'+ rtrim(@NOM_FICHIER) + '","' +
rtrim(@NOM_FICHIER_NV) + '")'

print @x

EXECUTE @OLEHDL = sp_OAMethod @FILE_HANDLE,@x


Sur notre poste de développement, cela fonctionne correctement.

Chez notre client, on récupère une erreur -214.... (du type object non
créé)
La case Activer OLE Automation est bien cochée.

Est-ce quelqu'un a déjà rencontré ce type de problème ?

Merci d'avance

Jérôme MATHIEU