Forum de discussion
Forum « Programmation ASP » (archives)
Re: Envoyer des donnes à oracle avec ASP
Envoyé: 21 mars 2006, 8h02 par Oznog
Le pire est fait si tu te connecte. Effectivement, il faut autoriser les mises à jour avec le bon verrou. Voir « Cursor et LockType » (http://www.trucsweb.com/ASP/trucs.asp?no=103&type=7).
Mais normalement la constante du pointeur « adopenstatic
» (égal 3) et du verrou « adlockoptimistic » (aussi égal à 3) sont suffisants pour faire une mise à jour ou un ajout dans une base de données.
Or donc en principe les deux « 3 » au bout de la connexion devraient suffire :
' Ce code est exactement le même que le suivant
RS.Open SQL,Conn , 3, 3
' Même code mais détaillé.
RS.CursorType = 3
RS.LockType = 3
RS.Open SQL,Conn
' Avec les constante.
RS.CursorType = adOpenStatic
RS.LockType = adLockBatchOptimistic
RS.Open SQL,Conn
Quand au « CursorLocation », tu l'ajoute visiblement à la mauvaise place selon le message d'erreur. Voilà un exemple.
' Objet
Set RS = server.createobject("ADODB.Recordset")
' Pointeur et verrou
RS.CursorType = adOpenStatic
RS.LockType = adLockBatchOptimistic
RS.CursorLocation=adUseClient
' Ouverture du jeu d'enregistrement
RS.Open SQL,Conn
Ceci dit, le SQL d'Oracle n'est pas tout à fait le même que ACCESS ou SQL Server. Pour pouvoir utiliser le langage SQL d'Oracle (PL/SQL) il fait installer (gratuitement) et passer par « Oracle Objects for OLE method » dit « OO4O » (http://www.oracle.com/technology/software/tech/windows/ole/index.html) et non pas par l'ODBC conventionnel. Je ne pense pas que ça puisse faire une différence à ce niveau mais au cas !
Enfin, l'installation ou le serveur ne permet peut être pas la mise à jour. À vérifier avec l'administrateur du serveur où est installé la base Oracle.
p.s. As-tu essayé avec INSERT INTO et « INSERT INTO » et « UPDATE ». C'est passer directement par ODBC au lieu de ADO.
Ciao
Oznog
Réponses
|