Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/05/2007, 20h15   #1
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
Par défaut [IIS] Access: Disk or network error.

J'ai développé pour un client une application ASP avec une base Access se trouvant dans le même répertoire que les pages web.
Ca marchait du tonerre à l'aide d'une chaine de connexion DSNless.


Puis j'ai réinstallé (j'étais et suis encore sous Vista Ultimate) et j'ai recopié le repertoire inetpub que j'avais avant. j'obtiens le message d'erreur suivant lors d'une tentative de connexion
Citation:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Disk or network error.

/credium/connect.asp, line 19

Sauf que je sais d'où vient le problème. Lorsque IIS ouvre une base access, il crée une copie temporaire de la base dans un repertoire TEMP. Mais j'ai tout "corrigé" et j'ai encore et toujours ce problème.
j'ai:
- vérifier les variables d'environnement TMP et TEMP pour l'utilisateur courant et aussi les var système
- sur chaque repertoire, j'ai mis les droits 'full control' pour "tous les utilisateurs"
- idem sur le dossier contenant la base

bref, je suis dépassé et j'ai besoin que ca marche. quelqu'un aurait une idée?
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 00h01   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Je crois plutôt qu'il ne trouve pas le chemin vers la base. Peut-être peux-tu jetter un oeil . Le post est un peu long mais interessant dans ta situation.
Sinon, peux-tu nous mettre le code de la page "connect.asp"?
Citation:
Lorsque IIS ouvre une base access, il crée une copie temporaire de la base dans un repertoire TEMP.
Euhh, t'es certain? Je crois pas. Jamais constaté.
Citation:
sur chaque repertoire, j'ai mis les droits 'full control' pour "tous les utilisateurs"
"Modifier" sur la base de données suffit.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 02h22   #3
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
Citation:
Peut-être peux-tu jetter un oeil là
je veux bien mais tu pointes ici même

Citation:
Euhh, t'es certain? Je crois pas. Jamais constaté.
oh que oui je suis certain et c'est même billou qui le dit
http://support.microsoft.com/kb/251254


ensuite, le code marchait tel quel, j'ai juste réinstallé vista sur la même partition avec inetpub au même endroit. Mais si tu tiens à voir le code (ne pas se fier aux commentaires, c'est pour un client dont le SI n'est pas des plus évolués )
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<%
'*************************************************
'  Author : MORAND Louis-Guillaume
'  Date : 24/12/2006
'  Version : 1.0
'  Website: *****
'  Description : Fichier de connexion à la base de données
'***************************************************/
 
' /!\   Commentez/decommentez le type de connexion dont vous avez besoin /!\
 
Set conn = Server.CreateObject("ADODB.Connection")
'*************************
' Connexion DSN-Less 
'*************************
' Type de connexion à utiliser lorsqu'on heberge soit même le portail. Le DSNLess évite la création manuelle d'une connexion ODBC
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=DSNtemp & "DBQ=" & server.mappath(".\data\Donnee.mdb")
conn.Open DSNtemp 'ligne 19!
 
'************************
' Connexion DSN
'************************
' Type de connexion à utiliser chez Oléane. Le DSN se configure dans le panneau d'administration d'oléane
'
'conn.Open "DSN=******"
%>
Citation:
Je crois plutôt qu'il ne trouve pas le chemin vers la base.
pourtant, le support et ce que j'ai trouvé sur google indique bien un prob de dossier TEMP.
maintenant, je viens de tester en mettant un chemin inexistant dans la chaine de connexion à la place de .\data\Donnee.mdb et j'ai le meme message d'erreur donc tu as p-e raison. mais si j'ajoute un echo de server.mappath(".\data\Donnee.mdb") ca m'affiche bien le réel chemin de ma base :/ alors pourquoi d'un coup n'aurait-il pu accès à la base...


Citation:
"Modifier" sur la base de données suffit.
à cas desespéré, mesure desespérée sachant que si ca marchait, je retirerai les droits au minimum par la suite mais là, le full controll de IUSR, de everyone et de IIS_USERS, et bien ca marche pas
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 09h35   #4
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Effectivement, tout semble correct.

Oups, c'est ici en fait. L'erreur de l'internaute est principalement un manque de connaissance, ce qui n'est pas ton cas. Toutefois, il y a quelques bout de code qui peuvent être utile même si on utlise apparement la même logique.
Cependant, j'ai un doute sur
Citation:
... Le fournisseur Microsoft OLE DB pour le moteur de base de données Microsoft Jet...
Le pilote cité sur la page de microsoft ne serait-il pas plutôt celui (Microsoft.Jet.OLEDB.4.0)?

Je crois qu'on n'est pas au bout de nos surprises avec Vista. Et il est vrai que peu de question ont été posé à ce sujet.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 09h52   #5
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
nan je ne dois pas utiliser JET 4.0. c'etait utilisé sur les vieilles bases Access et comme l'indique ton lien, il faudrait que je convertisse la base en Jet 4.0 or la base étant uploadée sur le serveur par un moyen que je controle pas, je ne dois pas y toucher.
sinon ma connexion est bonne, c'est bien marqué ici
http://www.carlprothman.net/Default....riverForAccess

Je viens de tester avec DSN, avec une datasource normale puis systeme, nommée "toto", j'obtiens la meme erreur (disk or error network)

J'ai quand même essayé la chaine avec le moteur JET, avec le path complet comme cest conseillé sur un site
Citation:
set conn = server.createobject("ADODB.Connection")
conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=c:\inetpub\wwwroot\****\data\Donnee.mdb"
=> là j'obtiens le même code d'erreur mais un message d'erreur "unspecified error". de mieux en mieux
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 09h59   #6
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Mmmh... Des idées par là (+ maj de MDAC)?
http://forums.devshed.com/iis-97/asp...is-444592.html

Service Pack pour le moteur de base de données Microsoft Jet 4.0
http://support.microsoft.com/kb/239114/

J'ai malheureusement pas de pc sous Vista sous la main. Et pas enormement de connaissances sur le sujet.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 10h11   #7
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
fait un bisou sur la bouche d'immobilis

Citation:
Mmmh... Des idées par là (+ maj de MDAC)?
http://forums.devshed.com/iis-97/asp...is-444592.html
sur ton lien, il propose le MDAC mais l'autre dit que c'etait une question d'utilisateur spécifié dans IIS. Je me suis dit, quel con que ce mec, moi j'utilise l'authentification anonyme.

je check. authentification anonyme activée et qui utilise le compte IUSR (soit le comportement normal depuis IIS 3.0. j'ai alors le choix pour le compte anonyme de choisir un compte utilisateur spécifique () ou "application pool identity".
je coche sans conviction le deuxième et ca passe du premier coup!

Mon appli semble marcher comme avant.

Sauf que maintenant j'ai tellement fait de bidouillage que je me demande ce qui se passe derrière "application pool identity" et les conséquences. je suis sous vista depuis 2ans et je suis sûr de n'avoir jamais touché à ça alors que ca marchait avant.

en tout cas, là ca marche, c'est ce qui compte

encore merci
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 19h40   #8
Membre habitué
 
Inscription : mai 2007
Messages : 188
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 188
Points : 104
Points : 104
Par défaut ODBC Windows Vista/IIS7/Access 2007

Merci, Merci et Merci chers amis.

J'ai eu le même problème de "Erreur disque" ou bien "Connection Internet Interrompue", Je suis desssus depuis 2 jours en PHP pour serveur IIS 7 / Windows Vista / Access 2007. Grâce à vous j'ai fait marcher le serveur web.

Pour Access 2007, je copie ConnectionString ici pour partager ma modeste contribution:


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<?php
//
// create a connection with COM:
//
  $cnn = new COM("ADODB.Connection");
//
// Access ACCDB OLE driver: ACCESS 2007.
//   My Access Data Base is located in a PC at
//   C:\tmp\web.accdb
//
  $dsn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\tmp\\web.accdb;Persist Security Info=False";
//
//$dsn = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\tmp\\web.accdb";
//
//
// open a connection: !!!ERROR!!! here:
//
  $cnn->Open($dsn);
//
// do job here:
// ...
//
 
//
// close a connection:
//
  $cnn->Close();
  $cnn = null;
//
?>
Et la procédure de Louis-Guillaume Morand que j'ai appliquée en Windows Vista version Française:

\Démarrer\Panneau de configuration\Système et maintenance
\Outils d'administration\Gestionnaire des services Internet (IIS)
...
\Default Web Site\Authentication\Authentification anonyme activé\Modifier
\Cocher Utilisateur Spécifique\[Définir]
\Choisir un compte utilisateur Windows Vista prédéfini + mot de passe.
jacou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 17h04   #9
Invité de passage
 
Enseignant
Inscription : décembre 2007
Messages : 1
Détails du profil
Informations personnelles :
Âge : 43

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : décembre 2007
Messages : 1
Points : 1
Points : 1
Bonjour,
Suite à une migration de XP vers Vista, j'avais ce même type d'erreur.
Je pensais avoir mal fait cette migration - copier coller, mise à jour, etc. - et depuis 2 jours je galère .
Je viens juste de m'inscrire sur le forum et j'ai trouvé la solution à mon problème
Merci à tous.
XavChou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h48.


 
 
 
 
Partenaires

Hébergement Web