ASP (Active Server Pages) est l'un des outils proposés par Microsoft pour développer des applications Internet. La connexion entre ASP et la base de données se fait généralement via ADO (Active Data Object), comme le rapportait "Computer World" le 20 mars 2000. Tel qu'introduit. dans l'article "Utilisation d'ASP pour exploiter la base de données SQL Server", ADO peut prendre entièrement en charge Microsoft SQL Server, mais il existe certaines difficultés avec les services de base de données ORACLE qui sont plus largement utilisés et disposent de mécanismes plus complexes si vous souhaitez créer des fonctions de requête simples. , ADO est suffisant. Si vous souhaitez mieux utiliser les fonctions uniques de la base de données ORACLE, telles que STORED PROCEDURE, STORED FUNCTION, etc., vous devez utiliser un autre outil puissant pour accéder aux services de base de données ORACLE à l'aide d'ASP --- Oracle Object for OLE. Serveur d'objets ORACLE (le serveur d'objets Oracle). Cet article explique à partir d'un exemple comment utiliser les contrôles fournis par le serveur d'objets ORACLE dans ASP pour accéder à la base de données ORACLE et explique comment maintenir les contraintes d'intégrité de la base de données réseau.
----Oracle Object for OLE est un produit indispensable développé par ORACLE pour l'accès client aux bases de données. Il est basé sur Windows 95/98/NT et est accessible par toutes les applications et langages de programmation compatibles OLE. tels que ASP, Visual Basic excessif97, etc., Oracle Object pour OLE comprend ORACLE Object Server (le serveur d'objets Oracle), ORCLE Data Control (le contrôle des données Oracle) et la bibliothèque de classes d'objets ORACLE (la bibliothèque de classes Oracle Objects pour OLE C++) et trois autres produits.
---- Par rapport à ADO, le serveur d'objets ORACLE est un produit dédié au développement d'applications de bases de données ORACLE. Il présente les avantages suivants :
---- (1) La connexion avec le serveur de base de données fonctionne efficacement. Parce qu'ADO se connecte au serveur de base de données via ODBC et que le serveur d'objets ORACLE se connecte au serveur de base de données via SQL*NET d'ORACLE.
---- (2) Peut mieux utiliser les fonctions uniques de la base de données ORACLE. Tels que PROCÉDURE STOCKÉE, FONCTION STOCKÉE, PACKAGE ou Curseur Multiple.
---- Cet exemple est un petit programme permettant d'interroger et de saisir des carnets d'adresses. Les utilisateurs peuvent interroger la table du carnet d'adresses via le navigateur ou saisir leurs propres informations pour que d'autres puissent les interroger.
----La structure du tableau du carnet d'adresses est la suivante :
Nom Null ?
------------------------------- -------- ----
NOM NON NULL CAR(8)
ADRESSE CARACTÉRISTIQUE(20)
CHARTE DE TÉLÉPHONE(20)
E-MAIL VARCHAR2(30)
---- Tout d'abord : configurez l'environnement :
----Installez le logiciel suivant sur le serveur WEB et configurez-le :
---- (1) Serveur WEB de base (SERVEUR WEB) et ASP et autres logiciels
---- (2)Objet Oracle pour OLE2.x
---- (3) Client SQL*Net ou Client Oracle Net8 8. Après l'installation, utilisez Sql*Net Easy Configuration pour créer un alias de base de données (Database Alias), qui est l'alias utilisé par ASP pour se connecter à la base de données.
---- deux. Réalisation de la fonction
---- (1) Requête : utilisez ASP pour obtenir les données de la table du carnet d'adresses de la base de données (TSB1) et afficher les données à l'écran. La clé de l'interrogation est de déterminer si la connexion à la base de données réussit. Le serveur d'objets ORACLE lui-même dispose d'un mécanisme de contrôle des erreurs qui peut signaler les erreurs de connexion à la base de données. Les procédures spécifiques sont les suivantes :
<HTML>
<tile>programme de requête</title>
<CORPS>
<%
en cas d'erreur, reprendre ensuite
'Se connecter à la base de données
set orasession = créer un objet
("OracleInprocServer.XOraSession")
définissez oradatabase=orasession.
dbopenddatabase("axp03","scott/tiger",0)
'Gestion des erreurs
si numéro d'erreur >0 alors
réponse.write"< h4 >contrôle des erreurs asp< /h4 >"
réponse.write"source d'erreur asp :"&err.source &"< br >"
réponse.write"code d'erreur asp :"&err.number&"< br >"
réponse.write"description de l'erreur asp :"&err.description&"< br >"
err.clear
réponse.write"< h4 >Contrôle des erreurs ORACLE OLE< /h4 >"
réponse.write"Code d'erreur ORACLE :
"&OraSession.LastServerErr&"< br >"
réponse.write"Description de l'erreur ORACLE :
"&OraSession.LastServerErrText&"< br >"
autre
'Requête
sql="sélectionner * depuis tsb1"
set oradynaset=oradatabase.dbcreatedynaset(sql,0)
réponse.write"< h3 >résultat< /h3 >"
réponse.write"< table border=5 >< tr >"
pour i=0 à oradynaset.fields.count-1
réponse.write"<td>"
réponse.write oradynaset.fields(i).name & " "
réponse.write"< /td >"
suivant
réponse.write"< /tr >"
faire jusqu'à ce que oradynaset.eof
réponse.write"<tr>"
pour i=0 à oradynaset.fields.count-1
réponse.write"<td>"
réponse.write oradynaset.fields(i).value
réponse.write"< /td >"
suivant
réponse.write"< /tr >"
oradynaset.dbmovenext
boucle
réponse.write"< /table >"
'Fermer la base de données
oradatabase.close
définir orasession = rien
finir si
%>
< /corps >
< /html >
----Ce qui suit est l'image du résultat de la requête du programme :
Carnet d'adresses
NOM ADRESSE TÉLÉPHONE EMAIL
Zhang Ling n° 5, route Hubei, ville de Ma'anshan 0555-2887765 [email protected]
Lin Xiang n°9, route du Hunan, ville de Ma'anshan 0555-2223856 [email protected]
N° 504, bâtiment 4, route minière Deng Guohong 0555-2474748 [email protected]
Salle 507, bâtiment 7, Université océanique de Qingdao, Licheng 0464-32456678 [email protected]
N° 807, bâtiment 7, communauté minière de Wang Guozai 0555-3445454 [email protected]
N° 405, bâtiment 17, route Hongqi Sud, Ding Gang 0555-2883721 [email protected]
N° 607, bâtiment 7, route Baojiangxi 0554-4566777 [email protected]
---- (2) Insérez vos propres informations : utilisez ASP pour insérer les données fournies par l'utilisateur sur le navigateur dans la table du carnet d'adresses de la base de données (TSB1). La base de données ORACLE dispose d'un ensemble de mécanismes de contrainte d'intégrité, donc le processus d'insertion. n'est pas seulement simple Insérez efficacement les données dans le tableau et vérifiez les contraintes d'intégrité. Les données qui ne répondent pas aux exigences seront refusées. Si le traitement n'est pas pris en compte dans le programme, le programme sera interrompu en raison d'une erreur. signalé par le serveur de base de données lors de l'exécution. L'objet ERR dans ASP peut signaler la source de l'erreur, le code d'erreur, la description de l'erreur, etc., et peut conduire le programme au traitement des erreurs.
---- Les programmes suivants sont les suivants : l'un est insert.htm, qui est une interface de saisie permettant aux utilisateurs de saisir leurs propres informations, et l'autre est insert.asp, qui est responsable de l'insertion des informations saisies par l'utilisateur dans la base de données et de l'exécution des erreurs. vérification.
Insérer.htm :
<html>
<tête>
< méta http-equiv="Content-Language"
content="zh-cn" >
< méta http-equiv="Content-Type"
content="text/html; charset=gb2312" >
< méta name="GÉNÉRATEUR" content=
"Microsoft FrontPage 4.0" >
< méta name="ProgId" content=
"FrontPage.Editor.Document" >
<title>Veuillez laisser vos informations</title>
</ /tête >
<corps>
< p align="center" >Veuillez saisir vos informations</ /p >
< form method="post" action="insert.asp" >
Nom:
< input type="text" name="name" size="8" > < br >
adresse:
< input type="text" name="address" size="20" > < br >
Téléphone:
< input type="text" name="phone" size="20" > < br >
E-MAIL : < input type="text" name="email" size="20" > < br >
< type d'entrée = "soumettre" valeur = "OK" >
< input type="reset" value="Annuler" >< br >
< /form>
< /corps >
< /html >
----Ce qui suit est l'interface de saisie utilisateur :
Veuillez entrer votre nom d'information :
adresse:
Téléphone:
E-MAIL:
Insérer.asp :
<HTML>
<CORPS>
<%
'Se connecter à la base de données
set orasession = créer un objet
("OracleInprocServer.XOraSession")
définissez oradatabase=orasession.
dbopenddatabase("axp03","scott/tiger",0)
'Transformer les informations insérées par l'utilisateur en instructions SQL
sql="insérer dans les valeurs tsb1
(" &chr(39)&request("nom")&chr(39) &","_
&chr(39)&request("ADRESSE")&chr(39)&","_
&chr(39) & demande("téléphone")&chr(39) &","_
&chr(39)&request("EMAIL")&chr(39)&")"
'Exécuter l'instruction d'insertion SQL
oradatabase.dbEXECUTESQL(sql)
'Vérifier les erreurs de violation des contraintes d'intégrité
SI NUMÉRO D'ERREUR >0 ALORS
réponse.write"< h4 >contrôle des erreurs asp< /h4 >"
réponse.write"source d'erreur asp :"&err.source &"< br >"
réponse.write"code d'erreur asp :"&err.number&"< br >"
réponse.write"description de l'erreur asp :"&err.description&"< br >"
AUTRE
'Insertion terminée, retourner
réponse.write "Insertion terminée, < a href=insert.htm > renvoie... < /a >"
finir si
%>
< /corps >
< /html >
----Ce qui précède présente quelques-unes de mes expériences dans l'utilisation des outils ASP pour déplacer les informations de la base de données ORACLE originale vers des applications Internet. L'exemple est très simple et vise à illustrer le principe. J'ai également utilisé STORED PROCEDURE, STORED FUNCTION et PACKAGE dans. le programme ASP Attendez que les fonctions uniques d'ORACLE accélèrent et améliorent l'efficacité. J'espère que cela pourra inspirer tout le monde, écrivez-nous pour communiquer les uns avec les autres.