IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Code de connection à BD Oracle


Sujet :

ASP

  1. #1
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut Code de connection à BD Oracle
    slt,

    je dois développer une application pour ma boite, en asp, utilisant une bd oracle.

    mais mon prob est que le code de connection à la BD est différent (dans la conception) que tout ce que j'ai pu lire sur les bouquins.

    par exemple, le global.asa ne contient rien concernant la connection à la BD.

    par exemple, après identification, g le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Création de la session soft
    set oConnect = server.createObject("33WebUser.oclWebUser")
    otErr = oConnect.otOpenConnection(Request.Form("otLogin"),Request.Form("otPassword"), application("otProfile"))
    if len(otErr)=0 then
    	'stockage de l'objet session PAM
     
     
    	set session("Connection")=oConnect
    	set session("Pam")=oConnect.Pam
    ce que je ne comprend pas ici, c comment se fait la connection à la BD...
    g vu sur les livres, qu'il faut créer un objet de type connection:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set cnx = server.createObject("ADODB.Connection")
    puis après un recordset.
    or ici, je comprend pas le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set oConnect = server.createObject("33WebUser.oclWebUser")
    cela correspond à quoi ce 33webuser et ce ocl.webuser ??
    enfin, dernière question, lors de la création de l'objet type connection, est-on obligé de l'appeler ADODB ?? je ne pense pas, vu que l'on cré l'objet, mais dans le doute, je préfère demander...

    merci de vos réponse est de votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Points : 414
    Points
    414
    Par défaut
    Salut,

    je n'affirme pas détenir la réponse, mais il me semble que :

    Lorsque Microsoft propose via ADODB une connexion Oracle, celle-ci est moins performante que les objets de conneixon du contructeur, on se demande pourquoi

    Peut etre que l'objet "33WebUser.oclWebUser" est founit par oracle ?

  3. #3
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    je pensais en effet à un truc du genre, qu'il devait y avoir des trucs fournits par le constructeur du soft (en fait je dois modifier certaines choses, dc la base du soft existe déjà c pr ça que je ne comprenais pas ce bodel

    je rajoute aussi que la connection à la base oracle est faite via le fichier tnsnames d'oracle et un lien ODBC configuré sur le serveur.
    pfiout, je veux du php

  4. #4
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    et si je veux mettre en place un recordset, me suffit-il de faire:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set rec = server.createObject("33WebUser.RecordSet")
    ?
    cela pourrait il fonctionner ?
    merci

  5. #5
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par bobic
    et si je veux mettre en place un recordset, me suffit-il de faire:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set rec = server.createObject("33WebUser.RecordSet")
    ?
    cela pourrait il fonctionner ?
    merci
    Ca me semble logique oui !

  6. #6
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    bon, g simplifié l'affaire, g repris du code présent dans une page.
    Le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    	'Vérification du compte en cours
    	otsql="SELECT * FROM otWeb WHERE "
    	otsql=otsql & "oidObject=" & oConnect.oidUser
    	otsql=otsql & " AND oidWeb='" & replace(otOldLogin,"'","''") & "'"
    	if len(otOldPassword)>0 then
    		otsql=otsql & " AND otPassword='" & replace(otOldPassword,"'","''") & "'"
    	else
    		otsql=otsql & " AND otPassword is null"
    	end if
    	set oRec = oPam.ogbAdoData.Execute(otsql)
    	if oRec.eof then
    		otMessage= oPam.otDictionnary(8000174)
    	else	
    		'Création de la requête de mise à jour
    		if len(otNewLogin)>0 then
    			otsql= ",oidWeb='" & replace(otNewLogin,"'","''") & "'"
    		end if
    		if len(otNewPassword)>0 then
    			if len(otsql)>0 then otsql=otsql & ","
    			otsql=otsql & "otPassword='" & replace(otNewPassword,"'","''") & "'"
    		else
    			if len(otsql)>0 then otsql=otsql & ","
    			otsql=otsql & "otPassword=null"
    		end if
    		otsql="UPDATE otWeb SET " & mid(otsql,2) 
    		otsql=otsql & " WHERE oidObject=" & oConnect.oidUser
    		oPam.ogbAdoData.Execute cstr(otsql)
    reprenant l'exemple de ce code, g fait ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <%
    sql ="SELECT * from otWeb WHERE oidObject='30366974'"
    oPam.ogbAdoData.Execute cstr(sql)
     
     
    test=sql("otPassword")
    response.write "test: " & test
    %>
    le but ici est qu'il se connecte à la bd, dans la table otweb, qu'il sélectionne la "ligne" avec l'oidobject "30366974" et qu'il m'affiche donc le passd (mis dans la variable test)...

    le prob, c qu'il ne m'affiche pas la valeur de test....
    est-ce parce que je ne l'ai pas déclaré via un dim test ? (d'ailleurs ceci est-il obligatoire ?)

    je ne sais pas non plus si pour la valeur de oidobject je dois mettre des ', des " ou rien dans le cas de caractères numériques
    mon prob, c qu'il ne me sort aucune erreur, alors qu'en php, il m'aurait déjà jeté...

    enfin, coment faire pour tester si la reqête à la bd est bonne ou pas ?

    merci d'avance pr ce petits conseils

  7. #7
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Bobic,
    Le problème est que en asp si tu fais un response.write d'une valeur null il ne t'affiche rien
    Maintenant je ne comprends pas oPam.ogbAdoData.Execute cstr(sql)
    car tu execute une requete de selection et non pas d'action.

    Pourquoi ne pas mettre le resutlat de ta requete dans un recordset.

    set RS = server.createobject("adodb.recordset")

    après tu fait RS.Open ( SQL )

    Après tu feras :
    response.write RS("otPassword")

    A mon avis ca devrais marcher meme avec des objets Oracle.

    Tiens nous au courant

  8. #8
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    g dc fait cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sql ="SELECT * from otWeb WHERE oidObject='30366974'"
    set RS = server.createobject("33WebUser.recordset") 
    RS.Open ( SQL ) 
    response.write RS("otPassword")
    mais rien ne sort
    je précise que plutot que metre ADODB, g mis 33WebUser puisque dans un fichier en inclusion g ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	set oConnect = server.createObject("Pam33WebUser.oclWebUser")
    			otErr = oConnect.otReprise(Request.QueryString("u"))
    			if len(otErr)> 0 then
    				Response.Clear 
    				Response.Redirect  "../ActionU/Exit.asp" 
    			end if
    			'stockage de l'objet application PAM
    			ovReprise=true
    			set session("Connection")=oConnect
    			set oPam=oConnect.Pam  
    		end if

    ensuite, g repis cela oPam.ogbAdoData.Execute cstr(sql) car dans ce fichie, y'a cela pour insérer des datas dans la basen et je me suis dit qu'e reprenant le même modèle, cela devrait fonctionner...
    sauf, que je ne savais pas qu'il fallait faire une diff entre l'éxécution dune requette de sélection, et une insertion.....

  9. #9
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    C'est bizarre donc que sur RS.OPEN (sql) il ne génere pas d'erreur !!

    Il se peut donc que la manipulation de l'objet soit différente qu'une connection adodb normale. Tu n'as aucune documentation ?

  10. #10
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    non, je n'ai pas de doc malheureusement sur la façon dont c programmé

    je n'ai que le code existant et qui tourne déjà.......

  11. #11
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Je suis désolé, je ne pas aider, il me semble que tu n'as pas d'erreurs d'execution donc tu es proche au but !!

    Bon courage

  12. #12
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    c bon, cela fctionne maintenant. g mis cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <%
    dim otSql
     
    otSql="SELECT * FROM otWeb WHERE oidobject=30366974"
    set oRec = oPam.ogbAdoData.Execute(otsql)
     
     
     
    %>
    <b><%=oRec("OTPASSWORD")%></b>
    g compris ma connerie maintenant il fallait d'abord que je déclare une var avec l'éxécution de ma requete, puis que je m'en serve pr apeler le champ de la BD

    ouf je v pouvoir enfin avancer !

    merci à tout ceux qui ont pris le tps de me lire et de m'aider

  13. #13
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    ouf je l'aurai pas deviné !! Felicitations !!

    N'oublie pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connection a oracle
    Par AnKhCHFR dans le forum Struts 1
    Réponses: 10
    Dernier message: 02/07/2009, 14h57
  2. Se connecter à distance à Oracle.
    Par titof dans le forum Oracle
    Réponses: 1
    Dernier message: 21/09/2005, 21h33
  3. [Debutant]Creation d'une connection vers ORACLE
    Par Wisefool dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/08/2005, 17h59
  4. Connection a Oracle sans client
    Par schiper dans le forum MFC
    Réponses: 2
    Dernier message: 02/08/2005, 11h57
  5. [VB6] Connection ODBC Oracle
    Par babe dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/10/2002, 17h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo