Connection ASP et ORACLE

Fermé
nounou - 8 mars 2009 à 13:42
 YakéKin ? - 13 mars 2009 à 11:55
Bonjour,
j'ai une problème de faire la connexion entre une page ASP et une table crée en oracle.
et voila mon table
CREATE TABLE USERS
(
USERLOGIN VARCHAR(50)NOT NULL,
USERPWD VARCHAR(50) NOT NULL,
USERNOM VARCHAR(50) NOT NULL,
USERPRENOM VARCHAR(50 BYTE) NOT NULL,
CODEBUREAU VARCHAR(5),
USERPROFILE VARCHAR(5) NOT NULL
);

le code ASP:
<% @LANGUAGE="VBscript" %>
<% Response.Buffer=True %>
<HTML>
<HEAD>
<META HTTP-EQUIV=Content-Type CONTENT='text/html; charset=iso-8859-1'>
<META HTTP-EQUIV=pragma CONTENT=NO-CACHE>
<META HTTP-EQUIV=Expires CONTENT=0>
<LINK REL=STYLESHEET HREF=../css/STYLE.css>
<TITLE>La Poste Tunisienne - Authentification</TITLE>
<SCRIPT LANGUAGE=JavaScript>
function submitenter(e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
{
valider();
return false;
}
else if (keycode ==32)
{
/*if (window.document.forms[0].F_LANGUE[0].checked==true)
{
window.document.forms[0].F_LANGUE[0].checked = false
window.document.forms[0].F_LANGUE[1].checked = true
}
else
{
window.document.forms[0].F_LANGUE[0].checked = true
window.document.forms[0].F_LANGUE[1].checked = false
}*/
valider();
return false;
}
else return true;
}
</SCRIPT>
<style type="text/css">
<!--
.style1 {
font-family: Arial;
font-weight: bold;
font-size: large;
}
.style4 {font-family: Arial; font-size: medium; color: #FFFFFF; }
.style8 {font-size: medium}
.style10 {
font-size: larger;
font-weight: bold;
}
.style11 {font-size: small}
.Style12 {color: #EFEFEF}
-->
</style>
</HEAD>
<BODY TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0 BGCOLOR=#EEEEEE onKeyPress='return submitenter(event)'>
<font face="0Font"><span class="Style12"></span> </font>
<FORM ACTION=action="md_index.asp" method="get" name="frmIndex" >
<font face="0Font">
<INPUT TYPE=HIDDEN NAME=F_VALID1>
<INPUT TYPE=HIDDEN NAME=B_PWD>
<INPUT TYPE=HIDDEN NAME=numero_demande>
<%
'Les paramètres globaux
dim host
dim userbase

host="192.168.164.6:1521:orcl"
userbase="demchq"
pwdbase="orv"
session("host")=host
session("userbase")=userbase
session("pwdbase")=pwdbase
%>
</font>
<TABLE BORDER=0 WIDTH=100% CELLPADDING=0 CELLSPACING=0>
<TR BGCOLOR=#FFCC00>
<TD WIDTH=33% ALIGN=LEFT bgcolor="#FFCC00"><font face="0Font">  <span class="style1">Authentification</span></font></TD>
<TD WIDTH=34% ALIGN=CENTER><font face="0Font"><IMG SRC=image/sigle.png width="114" height="61" VSPACE=5></font></TD>
<TD WIDTH=33% ALIGN=RIGHT CLASS=style1><font face="0Font">تعريف</font></TD>
</TR>
<TR> </TR>
<TR BGCOLOR=#C8D8F8>
<TD ALIGN=LEFT ><font face="0Font"><span class="style8"> La Poste Tunisienne</span></font></TD>
<TD></TD>
<TD ALIGN=RIGHT><font face="0Font"><span class="style8">البريد التونسي </span></font></TD>
</TR>
<TR> </TR>
<TR>
<TD COLSPAN=3 ALIGN=RIGHT ><font face="0Font"><BR>
Version 1.01 du 01/O2/2009  </font></TD>
</TR>
<TR>
<TD COLSPAN=3 ALIGN=CENTER>
<font face="0Font"><BR>
<BR>
<BR>
<BR>
<DIV class="style10" style10 style2><font face="0Font"> Suivi électronique des demandes des carnets de Cheque et ORV <BR>
<span class="style11">Veuillez saisir votre nom d'utilisateur et votre mot de passe afin de vous identifier </span> </font></DIV>
<font face="0Font"><BR>
</font></font>
<DIV CLASS=texteAR1></DIV>
<font face="0Font"><BR>
</font>
<TABLE BORDER=0 WIDTH=540 CELLPADDING=4 CELLSPACING=0 BGCOLOR=#027F7F>
<TR>
<TD WIDTH=220> </TD>
<TD WIDTH=240> </TD>
<TD WIDTH=120> </TD>
</TR>
<TR>
<TD ALIGN=LEFT CLASS=style4><font face="0Font">Nom d'utilisateur</font></TD>
<TD ALIGN=CENTER><font face="0Font">
<INPUT NAME=F_USERNAME TYPE=TEXT id="F_USERNAME" SIZE=20 MAXLENGTH=12>
</font></TD>
<TD ALIGN=RIGHT CLASS=style4><font face="0Font">الإسم</font></TD>
</TR>
<TR>
<TD ALIGN=LEFT CLASS=style4><font face="0Font">Mot de passe</font></TD>
<TD ALIGN=CENTER><font face="0Font">
<INPUT NAME=F_PASSWORD TYPE=PASSWORD id="F_PASSWORD" SIZE=20 MAXLENGTH=12>
</font></TD>
<TD ALIGN=RIGHT CLASS=style4><font face="0Font">كلمة السر </font></TD>
</TR>
</TABLE>
<font face="0Font"><BR>
<BR>
<BR>
<A HREF=JavaScript:valider()><IMG SRC=image/envoyer.png width="74" height="21" BORDER=0></A>  
<A HREF=javascript:window.close() target='_top'><IMG SRC=image/fermer.png width="75" height="21" BORDER=0></A>      
<A HREF=javascript:changePwd()><IMG SRC=image/key.png ALT="Pour changer votre mot de passe" width="36" height="30" BORDER=1></A>
<BR>
<BR>
<BR>
<BR>
</font>
<DIV CLASS=erreurFR1></DIV>
<DIV CLASS=erreurAR1></DIV> </TD>
</TR>
</TABLE>
</FORM>
</BODY>
<HEAD><META HTTP-EQUIV=pragma CONTENT=NO-CACHE></HEAD>
<SCRIPT LANGUAGE=JavaScript>
window.document.forms[0].F_USERNAME.focus();
function changePwd()
{
if (window.document.forms[0].F_USERNAME.value == '')
{
alert ("Champ 'Nom d'utilisateur' Obligatoire ...");
window.document.forms[0].F_USERNAME.focus();
return;
}
if (window.document.forms[0].F_PASSWORD.value == '')
{
alert ("Champ 'Mot de passe' Obligatoire ...");
window.document.forms[0].F_PASSWORD.focus();
return;
}
window.document.forms[0].F_VALID1.value='G01';
window.document.forms[0].B_PWD.value='2';
window.document.forms[0].action="ec_admin_utilisateur.asp";
window.document.forms[0].submit();
}
function valider()
{
if (window.document.forms[0].F_USERNAME.value == '')
{
alert ("Champ 'Nom d'utilisateur' Obligatoire ...");
window.document.forms[0].F_USERNAME.focus();
return;
}
if (window.document.forms[0].F_PASSWORD.value == '')
{
window.document.forms[0].F_PASSWORD.focus();
return;
}
//
window.document.forms[0].numero_demande.value == '2';
window.document.forms[0].F_VALID1.value='G01';
document.frmIndex.action="md_index.asp";
//document.frmIndex.action="md_test.asp";
document.frmIndex.submit();

}
</SCRIPT>
</HTML>
merci de m'aider à corriger le code de connexion.
A voir également:

2 réponses

Bonsoir,

Je connais bien Oracle mais je ne connais pas JavaScript et je ne trouve rien sur le net qui explique comment se connecter à une DB avec ce langage.

Vous n'auriez pas un lien par hasard ?.

Merci.
0
Re,

ASP - je ne connaissais pas réellement.

C'est tout ce dont je dispose d'après ces sources : http://www.netalya.com/fr/Lobjet_Connexion.asp
pour une connexion à Oracle en ODBC :

<%
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "driver={Microsoft ODBC for Oracle};" & "server=localhost;uid=demchq;pwd=orv; database=orcl"
conn.open connstring
SQL="SELECT FROM ... etc ..."
conn.execute SQL
conn.Close
Set conn=Nothing
%>

Crdlt.
0
merci, mais toujours il m'affiche qu'il ya erreur.
et voila ce qu'il m'affiche
(Microsoft VBScript compilation error '800a0401'

Expected end of statement

/iisHelp/common/500-100.asp, line 11

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Gestionnaire de pilotes ODBC] Echec SQLSetConnectAttr du pilote

/acces.asp, line 11)
merci de m'aider.
0
KékeCest ?! > nounou
11 mars 2009 à 23:26
Re,

Dans la mesure ou on cherche à se connecter en ODBC sur Oracle par cette méthode :

Il faut d'abord vérifier que vous avez bien défini un lien ODBC avec un DSN du nom de orcl (par exemple mais vous pouvez choisir un autre nom) pointant vers la database Oracle orcl.

Pour créer un lien ODBC Oracle :

-> Panneau de config/Outils d'Administration/Sources de Données (ODBC).
-> Onglet "Sources de données système" --> "Ajouter".
-> Suivez les instructions données par windows (choix d'un driver de type Oracle puis Data soure Name (DSN) -> orcl (par exemple) puis TNS Service Name -> orcl puis User ID -> demchq).
-> Tester ensuite la communication avec Oracle pour voir si ça fonctionne par Test Connection).

On a donc crée un lien ODBC appelé orcl (par exemple) et qui communique avec Oracle sur la database (TNS Service Name) orcl.... OK ?.

Quand c'est fait - revenez à votre programme :

--> C'est le nom du lien ODBC (le DSN) que vous mettrez ensuite ici (en gras) dans votre code :

<%
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "driver={Microsoft ODBC for Oracle};" & "server=localhost;uid=demchq;pwd=orv; database=orcl"
conn.open connstring
SQL="SELECT FROM ... etc ...<== TAPEZ VOTRE REQUETE SQL - VERIFIEZ BIEN QUE C'EST CORRECT>....."
conn.execute SQL
conn.Close
Set conn=Nothing
%>

Réessayez et dites moi si vous avez bien compris comment créer un lien ODBC.

Slt.
0
KékeCest ?! > nounou
11 mars 2009 à 23:33
Re,

Pendant que vous y êtes :

- Donner moi la version d'Oracle que vous avez sur votre machine (8i.. 10g ou + ???).
- Copiez/Collez le code ASP que vous avez tapé : j'aimerai vérifier votre requête SQL : on sait jamais.

Crdlt.
0
KékeCest ?! > nounou
12 mars 2009 à 00:36
Re - Re - Re !!

Il vaut mieux se connecter en OLE DB - ODBC est à éviter (http://www.trucsweb.com/Tutoriels/ASP/tw102/ :

connstring sera donc du type :

provider=msdaora;DataSource=D:\inetpub\db\BaseOracle;User ID=nonDusager;Password=motDePasse;
ou
provider=OraOLEDB.Oracle;DataSource=D:\inetpub\db\BaseOracle;User ID=nonDusager;Password=motDePasse;
(faudra peut être tester les deux - soit msdora, soit OraOLEDN)

Oubliez donc le lien ODBC à créer et tapez simplement ceci :

<%
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "provider=msdaora;DataSource=orcl;User ID=demchqr;Password=orv;"
conn.open connstring
SQL="SELECT * FROM EMP"
conn.execute SQL
conn.Close
Set conn=Nothing
%>

Note 1 : Essayer aussi avec DataSource=D:\Oracle\...\db\orcl si ça marche pas --> c'est le chemin complet d'accès à la DataBase orcl et ça dépend dépend donc de l'endroit vous avez installé Oracle bien sur.

Note 2 : en ODBC sinon : des infos (http://developpementweb.online.fr/dev/langages/ASP/acceder_base_par_MS.htm

Bonne nuit et désolé mais j'ai un peu de mal avec ASP .. je ne connaissais pas bien (:>)
0
YakéKin ? > KékeCest ?!
13 mars 2009 à 11:55
SEVEN UP !!

Récapitulons d'après les éléments trouvés :

A.
ODBC (à essayer si ça ne marche pas en OLE DB) :

1- Créer votre lien ODBC sur Windows appelé par exemple orcl (nom DSN) pointant vers la DataBase Oracle orcl comme expliqué plus haut :
2- Tapez le code suivant dans votre ASP :

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "FILEDSN=orcl.dsn"
SQL="SELECT * FROM EMP"
conn.execute SQL
conn.Close
Set conn=Nothing
%>

OU

B.
OLE DB :

<%
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "provider=msdaora;DataSource=orcl;User ID=demchqr;Password=orv;"
conn.open connstring
SQL="SELECT * FROM EMP"
conn.execute SQL
conn.Close
Set conn=Nothing
%>

Crdlt.
0