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

  FORUM HardWare.fr
  Programmation

  petit pb de connexion a une BD avec ASP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

petit pb de connexion a une BD avec ASP

n°32454
hebe
Posté le 17-05-2001 à 10:14:54  profilanswer
 

je ne sais pas d'où viens mon erreu sur ce qui suit :
 
<html>  
<head>  
<title>essais sur le dynamisme...</title>  
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
</head>  
 
<body bgcolor="#51A6DD">  
<p><b><font size="5">RECHERCHE DE L'INFORMATION :</font></b></p>  
 
<p>entrez le numéro de l'affaire : </p>  
 
<%  
dim Conn  
Set Conn=Server.CreateObject("ADODB.Connection" )  
Conn.Open "DSN=technical memory;"%>  
 
<%Set rs=conn.Execute("SELECT * FROM AFFAIRES" )%>  
<form name="num_affaire" method="post">  
<select name="num" size="1">  
<%  
rs.MoveFirst  
do while not rs.EOF%>  
<option value="<%=rs("Client" )%>"> <%=rs("Client" )%></option>  
<%rs.MoveNext  
Loop %>  
</select>  
<%  
Set rs=nothing  
conn.Close  
set conn=nothing  
%>  
</form>  
</body>  
</html>

 
sachant que j'ai bien un DSN du nom de "technical memory" fesant reference a une Base de Données du meme nom (cette BD se trouve dans le meme repertoire que mon fichier materiel_ce.asp qui contient le code ci-dessus
l'erreur qui apparaît est la suivante:
"Microsoft VBScript runtime error '80004005'
[Microsoft][ODBC Driver Manager] Disk or network error
/service/information/materiel_ce.asp, line10"
MERCI pour votre aide!


---------------
rom...
mood
Publicité
Posté le 17-05-2001 à 10:14:54  profilanswer
 

n°32473
lamatrice
Posté le 17-05-2001 à 10:42:49  profilanswer
 

Conn.Open "DSN=technical memory;" ???? vbscript connait pas
 
mais la syntaxe : Conn.opent "technical memory" devrait êttre plus juste non ? enfin à tester.
 
de plus, la déclaration du dns dans panneau de config, faut verifier que t'as bien le driver odbc de la base ?

n°32533
Mammam
Et la lumière fût...
Posté le 17-05-2001 à 11:36:18  profilanswer
 

J'utilise tellement de recorset ke j'ai fait une sub...
 
Alors : dans page.asp
 
<!--#include file="_fonctions.asp"-->
 
<%
   ' Connexion à la bdd
   dim cnx
   set cnx = Server.CreateObject("ADODB.Connection" )
   cnx.Open "DSN=technical memory;uid=login;pwd=password;"
 
   ' Création des curseurs et des requêtes
   dim rs
   sql = "select * from affaires"
   Curseur rs, sql, cnx
%>
 
Dans _fonctions.asp :
 
<%
Sub Curseur(rs, sql, cnx)
 
 set rs = server.CreateObject("ADODB.recordset" )
 set rs.ActiveConnection = cnx
 rs.CursorType = 0 'adOpenForwardOnly
 rs.LockType = 1 'adLockReadOnly
 rs.Open sql, cnx, 3, 3
 
End Sub
%>
 
 
Au début, j'avais essayé de faire une requête avec un conn.execute()... ça marchait pas top (en fait, je crois ke j'avias la même erreur ke toi.. ??!). Après, j'ai fait la méthode de dessus, et ça marche impecc... T'es pas obligé de faire une fonction ou une sub... mais, si t'as pas mal de requetes à faire, c'est bien moins chiant comme ça...
 
Sinon, essaye de mettre 'technical_memory' avec un underscore... ou alors un seul pour ta base et pas deux kom t'as toi...


---------------
-- Le MaM is back --
n°32586
hebe
Posté le 17-05-2001 à 13:41:17  profilanswer
 

lamatrice a écrit a écrit :

Conn.Open "DSN=technical memory;" ???? vbscript connait pas
 
mais la syntaxe : Conn.opent "technical memory" devrait êttre plus juste non ? enfin à tester.
 
de plus, la déclaration du dns dans panneau de config, faut verifier que t'as bien le driver odbc de la base ?




 
si je tape "opent"
j'ai un autre message d'erreur:
"the operation requested by the application is not allowed if the object is closed"
je ne pense dc pas que mon erreur vienne de là!!
 
mais par contre, si tu pouvais expliciter l'histoire des driver car ca parraît correspondre au message d'erreur...
MERCI!!


---------------
rom...
n°32592
hebe
Posté le 17-05-2001 à 13:45:37  profilanswer
 

mammam a écrit a écrit :

J'utilise tellement de recorset ke j'ai fait une sub...
 
Alors : dans page.asp
 
<!--#include file="_fonctions.asp"-->
 
<%
   ' Connexion à la bdd
   dim cnx
   set cnx = Server.CreateObject("ADODB.Connection" )
   cnx.Open "DSN=technical memory;uid=login;pwd=password;"
 
   ' Création des curseurs et des requêtes
   dim rs
   sql = "select * from affaires"
   Curseur rs, sql, cnx
%>
 
Dans _fonctions.asp :
 
<%
Sub Curseur(rs, sql, cnx)
 
 set rs = server.CreateObject("ADODB.recordset" )
 set rs.ActiveConnection = cnx
 rs.CursorType = 0 'adOpenForwardOnly
 rs.LockType = 1 'adLockReadOnly
 rs.Open sql, cnx, 3, 3
 
End Sub
%>
 
 
Au début, j'avais essayé de faire une requête avec un conn.execute()... ça marchait pas top (en fait, je crois ke j'avias la même erreur ke toi.. ??!). Après, j'ai fait la méthode de dessus, et ça marche impecc... T'es pas obligé de faire une fonction ou une sub... mais, si t'as pas mal de requetes à faire, c'est bien moins chiant comme ça...
 
Sinon, essaye de mettre 'technical_memory' avec un underscore... ou alors un seul pour ta base et pas deux kom t'as toi...




 
mon erreur reste malgres les changement que j'ai effectué d'apres ce que tu m'as donné...
pour l'underscore je vais le tenter...
mais je ne comprend pas ton histoire de :
"ou alors un seul pour ta base et pas deux kom t'as toi..."
je n'est pas deux quoi?underscore? a quel endroit?
merci de m'expliquer...


---------------
rom...
n°32593
lamatrice
Posté le 17-05-2001 à 13:49:15  profilanswer
 

je sais pas par où t'es passé pour déclarer le dns
 
mais sous win  panneau de config/ source de donnée ODBC/
 
-dans onglet DNS system et tu choisi ton fichier de données (access, ou autre) tu lui donne un nom DNS que t'utilisera dans ton script
 
-dans l'onglet DNS utilisateur il faut avoir le bon driver ODBC dans la liste. si t'utilise access ou mysql il faut que dans cette liste figure le driver adéquoit
 
 
-aussi j'ai jamais vu de nom dns en plusieur mot : comme elle dit la maman : fait plutot technical_memory ou tehmemory ou ce que tu veux.

n°32613
hebe
Posté le 17-05-2001 à 14:25:21  profilanswer
 

en mettant l'underscore, cette erreur a disparrut, mais malheureusement pour faire place a une nouvelle:
"General error Unable to open registry key 'Driverld'
 
pour ce qui est de la dns, pas de probleme, tt était fait comme il faut...


---------------
rom...
n°32694
Mammam
Et la lumière fût...
Posté le 17-05-2001 à 16:50:20  profilanswer
 

Kan je dis "deux", c'est ton nom de la base ki est composé de deux mots : technical et memory... essaye ke technical ou memory... un mot sans underscore parce ke apparemment, il aime pas... Pour les drivers ODBC, si dans DSN Utilisateurs tu as l'extension du fichier kil te fô, alors kan tu vas créer ta DSN dans DSN System, ça marchera impecc...


---------------
-- Le MaM is back --
n°33349
hebe
Posté le 21-05-2001 à 08:33:13  profilanswer
 

sous la directive de vos judicieux conseils, j'ai changé le nom de ma DSN...
Malheureusement, je me retrouve avec une nouvelle erreur.
il est maintenant ecrit: "object required : 'con'" a la ligne 10
Voici ce que j'ai...
<HTML>
<HEAD>
<TITLE> essais sur le dynamisme</TITLE>
</HEAD>
<BODY bgcolor="#51A6DD">
<P> <B> <FONT size="5">RECHERCHE DE L'INFORMATION :</FONT></B></P>
 
<%
set contechnical_memory = server.createobject("adodb.connection" )
con.open ("dsn=memory" )%>
 
<%
Set rsAffaires = con.Execute ("AFFAIRES" )%>
 
<FORM name="num_affaires" methode="poste">
<SELECT name="num" size="1">
 
<%
rs.MoveFirst
do while not rs.EOF%>
 
<OPTION value='<%=rs("Client" )%>'> <%=rs("Client" )%> </OPTION>
 
<%
rs.MoveNext
loop%>
 
<%
rsAffaires.close
Set rsAffaires=nothing
con.close
%>
 
</FORM>
</BODY>
</HTML>

si vous savez d'ou cela peut venir??
MERCI!!!


---------------
rom...
n°33350
hebe
Posté le 21-05-2001 à 08:49:34  profilanswer
 

oups!!! desolé, j'ai vu l'enormité de ce que j'ai ecrit...
j'ai corrigé la version du dessus, mais maintenant, j'ai tjrs la meme erreur qu'avant...
cad : "General error Unable to open registry key 'Driverld' "
cela ne doit pas venir de mon code, mais peut être de mon installation de IIS 4.0??!!! non??


---------------
rom...
mood
Publicité
Posté le 21-05-2001 à 08:49:34  profilanswer
 

n°33368
hebe
Posté le 21-05-2001 à 09:54:05  profilanswer
 

sinon, g essayé de tt mettre en javascript,
j'obtient comme erreur: " server is undefined " a la ligne 10...
quellle est la méthode en jscript?
 
<HTML>
<HEAD>
<TITLE> essais sur le dynamisme</TITLE>
</HEAD>
<BODY bgcolor="#51A6DD">
<P> <B> <FONT size="5">RECHERCHE DE L'INFORMATION :</FONT></B></P>
 
<%@Language="JavaScript"%>
<%
var conmemory = server.createobject("adodb.connection" );
conmemory.open ("dsn=memory" );%>
 
<%
var rsAffaires = con.Execute ("AFFAIRES" );%>
 
<FORM name="num_affaires" methode="poste">
<SELECT name="num" size="1">
 
<%
rs.MoveFirst;
while (!(rs.EOF))%>
 
<OPTION value='<%=rs("Client" )%>'> <%=rs("Client" )%> </OPTION>
 
<%
rs.MoveNext;
loop;%>
 
<%
rsAffaires.close;
var rsAffaires=nothing;
conmemory.close;
%>
 
</FORM>
</BODY>
</HTML>

Merci


---------------
rom...
n°33379
lamatrice
Posté le 21-05-2001 à 10:20:30  profilanswer
 

--------------------
var conmemory = server.createobject("adodb.connection" );
conmemory.open ("dsn=memory" );%>
var rsAffaires = con.Execute ("AFFAIRES" );%>
-------------------
déjà y a un prob dans ton con.Execute ça devrais être un truc genre Set rsAffaires = conmemory.execute "memory";
 
et puis les majustcule dans adodb, je crois que c'est important
 
 
donc ça nous fait en asp (un copier coller):
 
<%    
Set Conn=Server.CreateObject("ADODB.Connection" )    
Conn.Open "memory"%> pas dsn= ni de ; dans les guiellemet.
monsql= "select * from affaires;"
Set rs=conn.Execute(monsql)%>    
 
 
 
<%rs.MoveFirst    
do while not rs.EOF%>    
 
<%=rs("Client" )%>
..
.....
...
 
<%Set rs=nothing    
conn.Close    
set conn=nothing    
%>

n°33391
Mammam
Et la lumière fût...
Posté le 21-05-2001 à 11:08:57  profilanswer
 

Heu Lamatrice ->... dans le conn.open... vô mieux repréciser ke tu veux bien une DSN... et le ';' est obligatoire mais seulement kan tu veux préciser un mot de passe et un login à ta base !
 
Cela ne dérange en rien si tu mets "cnx.Open "DSN=technical memory;uid=login;pwd=password;"... sachant ke login et password ne sont même pas déclarées...


---------------
-- Le MaM is back --

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

  petit pb de connexion a une BD avec ASP

 

Sujets relatifs
[ASP] récuperation d'un fichier...petit prog en batch pour gagner de l'espace disk
Affichage de variables en ASPUn petit soft marrant ---> *cherche testeur *
Apache et PHP4 sous linux petit probleme tout con[HTML][ASP] changer deux pages en même temps chacune dans une frame ??
[ASP] Gestionnaire...Apache et support ASP
[ASP] [HELP] récupérer le session.id dans le global.asa ???ASP et session
Plus de sujets relatifs à : petit pb de connexion a une BD avec ASP


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