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

Pb accès serveur lié vers MDB

3 réponses
Avatar
Vuillermet Jacques
Je crée un serveur lié vers un fichier Access par :

EXEC sp_addlinkedserver
@server = 'FRNLNKJV3',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = '\\MonServeur\stats four\bo\Fournisseurs v6.mdb'
GO
sp_addlinkedsrvlogin @rmtsrvname='FRNLNKJV3', @useself='false',
@locallogin=NULL

Puis j'y accède par :
SELECT *
FROM OPENQUERY(FRNLNKJV3, 'SELECT * FROM Parametrage')
ou
SELECT *
FROM FRNLNKJV3...Parametrage

Si le fichier MDB est sur un disque du serveur SQL Server alors pas de pb
(même si le chemin est également de type UNC).
Mais si le fichier est sur une autre machine alors le message est :

Serveur : Msg 7399, Niveau 16, État 1, Ligne 1
Le fournisseur OLE DB 'Microsoft.Jet.OLEDB.4.0' rapporte une erreur.
[OLE/DB provider returned message: Le moteur de la base de données Microsoft
Jet ne peut pas ouvrir le fichier '\\MonServeur\stats four\bo\Fournisseurs
v6.mdb'. Il est déjà ouvert en mode exclusif par un autre utilisateur, ou
vous devez avoir l'autorisation de visualiser ses données.]
Trace de l'erreur OLE DB [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0'
IDBInitialize::Initialize returned 0x80004005: ].

Et bien sûr, il n'est pas ouvert.

Notes :
- SQL Server 2000 FR SP4 ; fichier Access 2000 FR.
- Droits NTFS du fichier Access : "Control total" pour "Tout le monde", idem
pour le partage.
- Le service MSSQLSERVER s'exécute sous un compte de domaine.
- Depuis une console Terminal Server ouverte sur le serveur avec le compte
de service je peux ouvrir le fichier MDB dans Notepad sans pb.

Pourquoi ? Que faire ?

Jacques.

3 réponses

Avatar
hch
c'est a priori un probleme de droits d'acces a un rep temporaire sur le
serveur hebergeant SQL server !!

On en parle dans la KB regardez cet article vous trouverez peut etre une
explication

http://support.microsoft.com/kb/814398/EN-US/

hch

"Vuillermet Jacques" a écrit :

Je crée un serveur lié vers un fichier Access par :

EXEC sp_addlinkedserver
@server = 'FRNLNKJV3',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'MonServeurstats fourboFournisseurs v6.mdb'
GO
sp_addlinkedsrvlogin @rmtsrvname='FRNLNKJV3', @useself='false',
@locallogin=NULL

Puis j'y accède par :
SELECT *
FROM OPENQUERY(FRNLNKJV3, 'SELECT * FROM Parametrage')
ou
SELECT *
FROM FRNLNKJV3...Parametrage

Si le fichier MDB est sur un disque du serveur SQL Server alors pas de pb
(même si le chemin est également de type UNC).
Mais si le fichier est sur une autre machine alors le message est :

Serveur : Msg 7399, Niveau 16, État 1, Ligne 1
Le fournisseur OLE DB 'Microsoft.Jet.OLEDB.4.0' rapporte une erreur.
[OLE/DB provider returned message: Le moteur de la base de données Microsoft
Jet ne peut pas ouvrir le fichier 'MonServeurstats fourboFournisseurs
v6.mdb'. Il est déjà ouvert en mode exclusif par un autre utilisateur, ou
vous devez avoir l'autorisation de visualiser ses données.]
Trace de l'erreur OLE DB [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0'
IDBInitialize::Initialize returned 0x80004005: ].

Et bien sûr, il n'est pas ouvert.

Notes :
- SQL Server 2000 FR SP4 ; fichier Access 2000 FR.
- Droits NTFS du fichier Access : "Control total" pour "Tout le monde", idem
pour le partage.
- Le service MSSQLSERVER s'exécute sous un compte de domaine.
- Depuis une console Terminal Server ouverte sur le serveur avec le compte
de service je peux ouvrir le fichier MDB dans Notepad sans pb.

Pourquoi ? Que faire ?

Jacques.






Avatar
Vuillermet Jacques
Bien vu !

Il existe dans le dossier %TEMP% des fichiers de la forme "JETxxxx.tmp" dont
les dates correpondent à mes tentatives et dont la taille est de 0 octet.

En fait, j'utilisais une connexion en authentification Windows et avec un
compte qui n'a pas de droits sur ce dossier.

J'ai essayé avec une connexion native : cela force l'utilisation du compte
de service qui, lui, a les droits sur ce dossier.
Et ça marche.

Merci !

Jacques.


"hch" a écrit dans le message de news:

c'est a priori un probleme de droits d'acces a un rep temporaire sur le
serveur hebergeant SQL server !!

On en parle dans la KB regardez cet article vous trouverez peut etre une
explication

http://support.microsoft.com/kb/814398/EN-US/

hch

"Vuillermet Jacques" a écrit :

> Je crée un serveur lié vers un fichier Access par :
>
> EXEC sp_addlinkedserver
> @server = 'FRNLNKJV3',
> @provider = 'Microsoft.Jet.OLEDB.4.0',
> @srvproduct = 'OLE DB Provider for Jet',
> @datasrc = 'MonServeurstats fourboFournisseurs v6.mdb'
> GO
> sp_addlinkedsrvlogin @rmtsrvname='FRNLNKJV3', @useself='false',
> @locallogin=NULL
>
> Puis j'y accède par :
> SELECT *
> FROM OPENQUERY(FRNLNKJV3, 'SELECT * FROM Parametrage')
> ou
> SELECT *
> FROM FRNLNKJV3...Parametrage
>
> Si le fichier MDB est sur un disque du serveur SQL Server alors pas de


pb
> (même si le chemin est également de type UNC).
> Mais si le fichier est sur une autre machine alors le message est :
>
> Serveur : Msg 7399, Niveau 16, État 1, Ligne 1
> Le fournisseur OLE DB 'Microsoft.Jet.OLEDB.4.0' rapporte une erreur.
> [OLE/DB provider returned message: Le moteur de la base de données


Microsoft
> Jet ne peut pas ouvrir le fichier 'MonServeurstats


fourboFournisseurs
> v6.mdb'. Il est déjà ouvert en mode exclusif par un autre utilisateur,


ou
> vous devez avoir l'autorisation de visualiser ses données.]
> Trace de l'erreur OLE DB [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0'
> IDBInitialize::Initialize returned 0x80004005: ].
>
> Et bien sûr, il n'est pas ouvert.
>
> Notes :
> - SQL Server 2000 FR SP4 ; fichier Access 2000 FR.
> - Droits NTFS du fichier Access : "Control total" pour "Tout le monde",


idem
> pour le partage.
> - Le service MSSQLSERVER s'exécute sous un compte de domaine.
> - Depuis une console Terminal Server ouverte sur le serveur avec le


compte
> de service je peux ouvrir le fichier MDB dans Notepad sans pb.
>
> Pourquoi ? Que faire ?
>
> Jacques.
>
>
>
>


Avatar
hch
Bien vu aussi !!
votre explication est tres claire encore plus precise que celle des articles
de la KB

bonne journée
hch

"Vuillermet Jacques" a écrit :

Bien vu !

Il existe dans le dossier %TEMP% des fichiers de la forme "JETxxxx.tmp" dont
les dates correpondent à mes tentatives et dont la taille est de 0 octet.

En fait, j'utilisais une connexion en authentification Windows et avec un
compte qui n'a pas de droits sur ce dossier.

J'ai essayé avec une connexion native : cela force l'utilisation du compte
de service qui, lui, a les droits sur ce dossier.
Et ça marche.

Merci !

Jacques.


"hch" a écrit dans le message de news:

> c'est a priori un probleme de droits d'acces a un rep temporaire sur le
> serveur hebergeant SQL server !!
>
> On en parle dans la KB regardez cet article vous trouverez peut etre une
> explication
>
> http://support.microsoft.com/kb/814398/EN-US/
>
> hch
>
> "Vuillermet Jacques" a écrit :
>
> > Je crée un serveur lié vers un fichier Access par :
> >
> > EXEC sp_addlinkedserver
> > @server = 'FRNLNKJV3',
> > @provider = 'Microsoft.Jet.OLEDB.4.0',
> > @srvproduct = 'OLE DB Provider for Jet',
> > @datasrc = 'MonServeurstats fourboFournisseurs v6.mdb'
> > GO
> > sp_addlinkedsrvlogin @rmtsrvname='FRNLNKJV3', @useself='false',
> > @locallogin=NULL
> >
> > Puis j'y accède par :
> > SELECT *
> > FROM OPENQUERY(FRNLNKJV3, 'SELECT * FROM Parametrage')
> > ou
> > SELECT *
> > FROM FRNLNKJV3...Parametrage
> >
> > Si le fichier MDB est sur un disque du serveur SQL Server alors pas de
pb
> > (même si le chemin est également de type UNC).
> > Mais si le fichier est sur une autre machine alors le message est :
> >
> > Serveur : Msg 7399, Niveau 16, État 1, Ligne 1
> > Le fournisseur OLE DB 'Microsoft.Jet.OLEDB.4.0' rapporte une erreur.
> > [OLE/DB provider returned message: Le moteur de la base de données
Microsoft
> > Jet ne peut pas ouvrir le fichier 'MonServeurstats
fourboFournisseurs
> > v6.mdb'. Il est déjà ouvert en mode exclusif par un autre utilisateur,
ou
> > vous devez avoir l'autorisation de visualiser ses données.]
> > Trace de l'erreur OLE DB [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0'
> > IDBInitialize::Initialize returned 0x80004005: ].
> >
> > Et bien sûr, il n'est pas ouvert.
> >
> > Notes :
> > - SQL Server 2000 FR SP4 ; fichier Access 2000 FR.
> > - Droits NTFS du fichier Access : "Control total" pour "Tout le monde",
idem
> > pour le partage.
> > - Le service MSSQLSERVER s'exécute sous un compte de domaine.
> > - Depuis une console Terminal Server ouverte sur le serveur avec le
compte
> > de service je peux ouvrir le fichier MDB dans Notepad sans pb.
> >
> > Pourquoi ? Que faire ?
> >
> > Jacques.
> >
> >
> >
> >