Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2954 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  Source de données non trouvée et nom de pilote non spécifié

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Source de données non trouvée et nom de pilote non spécifié

n°372881
Fred-06
Posté le 26-04-2003 à 23:00:21  profilanswer
 

Bonjour,  
 
J'ai un script en ASP qui permet l'authentification d'un utilisateur pour rentrer en intranet sur un site.  
Ce script tourne correctement sur le serveur actuel : un serveur NT.  
Le but est de passer ce site sous Win2000 donc j'ai fait la copie exacte du site sur un serveur Win2000 avec toutes les mises à jour et IIS 5.0.  
Mais le probleme c'est que le script d'authentification ne marche pas sous 2000 !  
 
J'obtiens l'erreur suivante :  
 
HTTP 500.100 - Erreur interne au serveur - Erreur ASP  
Services Internet (IIS)  
Informations techniques  
 
Type d'erreur :  
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)  
[Microsoft][Gestionnaire de pilotes ODBC] Source de données non trouvée et nom de pilote non spécifié  
/scripts/login-verify.asp, line 10  
 
 
Voilà les details du script login-verify.asp :  
 
5 stNomLogin = request.form("tfNomLogin" )  
6 stMotPasse = request.form("tfMotPasse" )  
7 ' Constuction de la requete SQL  
8 set rsAdherents = server.createObject("ADODB.recordset" )  
9 stSQL = "SELECT * FROM Adherents WHERE (NomLogin='" + stNomLogin + "';);"  
10 rsAdherents.Open stSQL,"Database",adOpenStatic,adLockOptimistic,adCmdText  
 
Le probleme vient donc de la requete ".open" mais  
Voilà, celà fait deux jours que je cherche mais je ne comprend toujours pas!  
Je travaile avec une base de données ACCESS.
S'il faut mettre la suite du code dites le moi  
Merci d'avance  
 
Fred

mood
Publicité
Posté le 26-04-2003 à 23:00:21  profilanswer
 

n°373035
MagicBuzz
Posté le 27-04-2003 à 03:24:57  profilanswer
 

Forcément "Database" c'est pas trop une source de données connue :sarcastic:
 
Mets ta chaîne de connection à la place.

n°373084
Fred-06
Posté le 27-04-2003 à 10:56:19  profilanswer
 

OK, je ne sais pas ce qu'est une chaine de connexion mais j'ai trouvé  ceci :
 
http://www.trucsweb.com/ASP/trucs.asp?no=102&type=7
 
Si j'ai bien compris, je devrais donc rajouter ceci dans mon code :
 
<%
Dim objConnexion, chaineConn
' Création de l'objet ADO
 
Set objConnexion = Server.CreateObject("ADODB.Connection" )
' Ouverture de la base sans DSN avec chaîne de connexion
 
chaineConn =provider=MICROSOFT.JET.OLEDB.4.0;DataSource=D:\inetpub\db\base.mdb;User ID=nonDusager;Password=motDePasse;
objConnexion.open chaineConn
 
' Traitement...
[...]
' Fermeture la connexion et déstruction de l'objet
 
objConnexion.close
set objConnexion=nothing
%>
 

  • Voilà, si j'ai fait une erreur dites le moi ! ;)  


  • Ne faut il pas aussi installer le pilote ODBC avec les derniers MDAC 2.7 ??

Merci d'avance
 
Fred


Message édité par Fred-06 le 27-04-2003 à 10:57:18
n°373093
MagicBuzz
Posté le 27-04-2003 à 11:15:42  profilanswer
 

Presque :D
 
Bon, exemple :
 
Dans le global.asa :
 

Code :
  1. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  2. sub application_onstart
  3. Application("connectionString" ) = "provider=MICROSOFT.JET.OLEDB.4.0;DataSource=D:\inetpub\db\base.mdb;User ID=nonDusager;Password=motDePasse;"
  4. end sub
  5. </SCRIPT>


 
Dans ta page :
 

Code :
  1. dim cnx
  2. set cnx = Server.CreateObject("ADODB.Connection" )
  3. cnx.Open Application("connectionString" )
  4. sql = "SELECT * FROM Adherents WHERE (NomLogin='" + stNomLogin + "')"
  5. set rsAdherents = Server.CreateObject("ADODB.RecordSet" )
  6. set rsAdherents.ActiveConnection = cnx
  7. rsAdherents.Open sql
  8. do while not rsAdherents.EOF
  9. ' Traîtements ici
  10. rsAdherents.MoveNext
  11. loop
  12. rsAdherents.Close
  13. set rsAdherents = nothing
  14. cnx.Close
  15. set cnx = nothing


Message édité par MagicBuzz le 27-04-2003 à 11:17:43
n°373099
Fred-06
Posté le 27-04-2003 à 11:24:27  profilanswer
 

OK merci beaucoup Magic buzz ! :)
J'essairai ca lundi et je vous tient au courant.

  • Au fait avez vous une idée de pourquoi ce script marche correctement sur un serveur NT et qu'il ne marche pas sans ces modifications sur un seveur 2000 ?


Fred


Message édité par Fred-06 le 27-04-2003 à 11:28:08
n°373108
MagicBuzz
Posté le 27-04-2003 à 11:46:54  profilanswer
 

Euh ?
 
Bug de NT ?
 
Normalement, ça ne peux pas fonctionner du tout, aucun de tes scripts, car ç chaque fois la connection était foireuse.

n°373925
Fred-06
Posté le 28-04-2003 à 10:38:34  profilanswer
 

OK, j'ai rajouté les lignes de codes que vous avez proposez mais, bon je n'ai plus la meme erreur maintenant :
J'ai un probleme avec le code du fichier "global.asa".
 
Microsoft JET Database Engine (0x80040E4D)
Impossible de démarrer votre application. Le fichier d'informations du groupe de travail est absent ou ouvert en mode exclusif par un autre utilisateur.
/intranet/scripts/login-verify.asp, line 6

 
==> et la ligne 6 correspond à :

Code :
  1. cnx.Open Application("connectionString" )


Donc le probleme doit venir de connexionString notamment de l'utilisateur et du mot de passe. J'ai donc autoriser le compte invité internet à à lire ma base avec un mot de passe que j'ai créer y pour accéder mais cela ne fonctionne toujours pas. :??:  
 
J'ai aussi installé les derniers MDAC 2.7 en espérant que ca marche mieux mais ca n'a rien changé

n°373942
MagicBuzz
Posté le 28-04-2003 à 10:47:48  profilanswer
 

C koi ton IIS :??:
 
Bon, vire la ligne du global.asa et met la chaine dans une variable normale.
apparement ton iis ne suporte pas les variables d'application.
 
c koi ? IIS 2 ? :ouch:

n°373952
Fred-06
Posté le 28-04-2003 à 10:50:18  profilanswer
 

J'ai installé IIS 5.0 avec toutes les mises à jours possibles chez microsoft

Citation :

met la chaine dans une variable normale.


==> désolé mais je ne sais pas comment faire ...


Message édité par Fred-06 le 28-04-2003 à 10:51:34
n°373962
MagicBuzz
Posté le 28-04-2003 à 10:55:36  profilanswer
 

vire la ligne dans le global.asa
 
puis écrit là au début du fichier où il y a la requête, en remplaçant application("connectionString" ) par connectionString
 
et dans le cnx.open(), passe la nouvelle variable au lieu de la variable d'application... spourtant pas compliqué.

mood
Publicité
Posté le 28-04-2003 à 10:55:36  profilanswer
 

n°373992
Fred-06
Posté le 28-04-2003 à 11:07:45  profilanswer
 

OK, c'est bon j'ai fais ce que vous proposez mais j'ai malheuresement la même erreur.
Je peux poster si c'est utile le contenu de mon fichier global.asa et le code complet de mon login-verify.asp ?

n°374436
MagicBuzz
Posté le 28-04-2003 à 15:01:21  profilanswer
 

Sans problème.
 
Utilise bien les tags [ fixed] et [ /fixed] de chaque côté du code pour qu'il soit lisible.
 
Et vire tout ce qui est inutile à la compréhension, qu'on perde pas notre temps à lire 50 écrans de code ;)
 
Et surtout ! Vire toutes les infos critiques genre le mot de pass ou le chemin d'accès à la base. Remplace-les par des chaînes lisibles qu'on voit que tu les a déclaré, mais ne les laisse pas telles qu'elles !

n°374497
Fred-06
Posté le 28-04-2003 à 15:16:37  profilanswer
 

OK, bon alors voici le contenu de mon fichier global.asa :
 

Code :
  1. <OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo">
  2. </OBJECT>


 
Maintenant voici le contenu de mon fichier login-verify.asp :
 

Code :
  1. <% response.buffer = true %>
  2. <!-- #include file="../includes/adovbs.inc" -->
  3. <%
  4. dim cnx
  5. set cnx = Server.CreateObject("ADODB.Connection" )
  6.     connectionString = "provider=MICROSOFT.JET.OLEDB.4.0;DataSource=chemind'accés à la base\mabase.mdb;Name=la je sais pas quoi mettre;Password=la non plus;"
  7. ' Recuperation des donnes du Formulaire
  8. stNomLogin = request.form("tfNomLogin" )
  9. stMotPasse = request.form("tfMotPasse" )
  10. ' Constuction de la requete SQL
  11. stSQL = "SELECT * FROM Adherents WHERE (NomLogin='" + stNomLogin + "');"
  12. set rsAdherents = server.createObject("ADODB.recordset" )
  13. set rsAdherents.ActiveConnection = cnx
  14. rsAdherents.Open stSQL,"Le nom de ma base",adOpenStatic,adLockOptimistic,adCmdText
  15.         do while not rsAdherents.EOF
  16.          'Traitement des données :
  17. ' Analyse du resultat de la requete
  18. ' MAJ de la date de dernier acces
  19.         loop
  20.         'FIN du traitement
  21.         'Deconnection de la base et liberation des objets
  22. rsAdherents.close
  23. set rsAdherents = nothing
  24.         cnx.Close
  25.         conn.Close
  26.        set cnx = nothing
  27.         %>
  28. <!-- ------------------------------------------------------------------------------- -->


Message édité par Fred-06 le 28-04-2003 à 15:19:03
n°374518
MagicBuzz
Posté le 28-04-2003 à 15:23:31  profilanswer
 

Dans ta chaîne de connection, c'est pas "Name" mais "User ID"

n°374528
MagicBuzz
Posté le 28-04-2003 à 15:26:08  profilanswer
 

Sinon, y'a pas comme un bug là dans le forum :??
 

Code :
  1. TAIST


 
Urf urf :)


Message édité par MagicBuzz le 28-04-2003 à 15:27:05
n°374570
Fred-06
Posté le 28-04-2003 à 15:34:07  profilanswer
 

Humm en effet global.asa n'apparai pas correctement
 

Code :
  1. <OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo">
  2. </OBJECT>


 
En fait, j'ai enlevé les [fixed] ... :wahoo:


Message édité par Fred-06 le 28-04-2003 à 15:34:56
n°374673
MagicBuzz
Posté le 28-04-2003 à 15:58:17  profilanswer
 

vi, je t'avais dis de les utiliser, mais j'avais pas précu que tu allais utiliser cpp en plus :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  Source de données non trouvée et nom de pilote non spécifié

 

Sujets relatifs
Comment récupérer des données d'un mail ??Création d'une appli avec base de données de film avi
[Oracle] Comparaison de données dans != tablebesoin de bonne source pour apprendre le C
Enregistrement des données d'un felxgrid dans access [Résolu !][C/C++]récupérer la source d'une page html
Lier 2 bases de donnees Mysql[PHP] Intercépter un chemain pour l'utiliser comme source d'une image?
[BDE] faire utiliser un autre pilote à une applicationRecherche base de données
Plus de sujets relatifs à : Source de données non trouvée et nom de pilote non spécifié


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR