GNT sans publicité, site mobile, fonctionnalitées exclusives...

Problème de mise à jour de données jet

Le
Adrien Gaudel
Bonjour à tous,

Je suis nouveau sur ce groupe et j'espère ne pas trop vous ennuyer avec une
question qui à été posés 50 fois (j'ai cherché un peu et ça n'a pas l'air
d'être le cas)

Voilà, je viens de reprendre le devellopement d'une petite application ASP
laissée en stand by depuis environ 1 ans. Quand je l'ai laissée tout les
parties terminées fonctionnaient correctement. Hors, quelques mise à jour de
XP plus tard, j'ai plein d'erreur partout avec Jet, je ne comprend pas d'où
ça sort.

Je tourne sous win XP pro, donc IIS5.1
le bout de code suivant (qui fonctionnait parfaitement il y'a un an)

Dim strEleveID, strActiviteID

strEleveID = Request.Form("eleveid")
strActiviteID = Request.Form("activite")

Dim objComm, strSQL, intResult
strSQL = "UPDATE Eleves SET ActiviteID = " & strActiviteID & " WHERE ID = "
& strEleveID & ";"

Response.Write strSQL
Response.Flush

set objComm = server.CreateObject("ADODB.Command")
objComm.ActiveConnection = strConn
objComm.CommandType = &H0001 'adCmdText
objComm.CommandText = strSQL
objComm.Execute intResult

set objComm = nothing
If not intResult = 1 Then
Response.Write("Une erreur s'est produit pendant la mise à jour du champ.
Essayez à nouveau.")
End If

Me renvois maintenant l'erreur suivante :
Microsoft JET Database Engine error '80004005'

L'opération doit utiliser une requête qui peut être mise à jour.

/upActiviteEleve.asp, line 26

La ligne 26 correspond à l'appel de l'action "execute" de l'objet "objComm"

Je ne comprend pas pourquoi !

(parrelèllement, si vous pouviez m'indiquer un site qui explique toutes les
differences entre l'ancienne et la nouvelle version de Jet ça serait très
sympa car je sent que je vais devoir faire face à tout un tas de problèmes
de ce genre)

Un grand merci d'avance !

Adrien
Lire les 4 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Martin CLAVREUIL
Le #11490551
bonjour,

pour executer une phase SQL sur une base de données (manifestement access)
vous pouvez également (et ce risque d'etre un peut plus pratique) utiliser
l'objet ADODB.Connection en définissant jet pour ms access comme pilote dans
la méthode open.


"Adrien Gaudel" news:cc9dke$61c$
Bonjour à tous,

Je suis nouveau sur ce groupe et j'espère ne pas trop vous ennuyer avec


une
question qui à été posés 50 fois (j'ai cherché un peu et ça n'a pas l'air
d'être le cas)

Voilà, je viens de reprendre le devellopement d'une petite application ASP
laissée en stand by depuis environ 1 ans. Quand je l'ai laissée tout les
parties terminées fonctionnaient correctement. Hors, quelques mise à jour


de
XP plus tard, j'ai plein d'erreur partout avec Jet, je ne comprend pas


d'où
ça sort.

Je tourne sous win XP pro, donc IIS5.1
le bout de code suivant (qui fonctionnait parfaitement il y'a un an)

Dim strEleveID, strActiviteID

strEleveID = Request.Form("eleveid")
strActiviteID = Request.Form("activite")

Dim objComm, strSQL, intResult
strSQL = "UPDATE Eleves SET ActiviteID = " & strActiviteID & " WHERE ID "
& strEleveID & ";"

Response.Write strSQL
Response.Flush

set objComm = server.CreateObject("ADODB.Command")
objComm.ActiveConnection = strConn
objComm.CommandType = &H0001 'adCmdText
objComm.CommandText = strSQL
objComm.Execute intResult

set objComm = nothing
If not intResult = 1 Then
Response.Write("Une erreur s'est produit pendant la mise à jour du champ.
Essayez à nouveau.")
End If

Me renvois maintenant l'erreur suivante :
Microsoft JET Database Engine error '80004005'

L'opération doit utiliser une requête qui peut être mise à jour.

/upActiviteEleve.asp, line 26

La ligne 26 correspond à l'appel de l'action "execute" de l'objet


"objComm"

Je ne comprend pas pourquoi !

(parrelèllement, si vous pouviez m'indiquer un site qui explique toutes


les
differences entre l'ancienne et la nouvelle version de Jet ça serait très
sympa car je sent que je vais devoir faire face à tout un tas de problèmes
de ce genre)

Un grand merci d'avance !

Adrien





Francis
Le #11490511
Adrien Gaudel wrote:
Bonjour à tous,

Je suis nouveau sur ce groupe et j'espère ne pas trop vous ennuyer avec une
question qui à été posés 50 fois (j'ai cherché un peu et ça n'a pas l'air
d'être le cas)

Voilà, je viens de reprendre le devellopement d'une petite application ASP
laissée en stand by depuis environ 1 ans. Quand je l'ai laissée tout les
parties terminées fonctionnaient correctement. Hors, quelques mise à jour de
XP plus tard, j'ai plein d'erreur partout avec Jet, je ne comprend pas d'où
ça sort.

Je tourne sous win XP pro, donc IIS5.1
le bout de code suivant (qui fonctionnait parfaitement il y'a un an)

Dim strEleveID, strActiviteID

strEleveID = Request.Form("eleveid")
strActiviteID = Request.Form("activite")

Dim objComm, strSQL, intResult
strSQL = "UPDATE Eleves SET ActiviteID = " & strActiviteID & " WHERE ID = "
& strEleveID & ";"

Response.Write strSQL
Response.Flush

set objComm = server.CreateObject("ADODB.Command")
objComm.ActiveConnection = strConn
objComm.CommandType = &H0001 'adCmdText
objComm.CommandText = strSQL
objComm.Execute intResult

set objComm = nothing
If not intResult = 1 Then
Response.Write("Une erreur s'est produit pendant la mise à jour du champ.
Essayez à nouveau.")
End If

Me renvois maintenant l'erreur suivante :
Microsoft JET Database Engine error '80004005'

L'opération doit utiliser une requête qui peut être mise à jour.

/upActiviteEleve.asp, line 26

La ligne 26 correspond à l'appel de l'action "execute" de l'objet "objComm"

Je ne comprend pas pourquoi !

(parrelèllement, si vous pouviez m'indiquer un site qui explique toutes les
differences entre l'ancienne et la nouvelle version de Jet ça serait très
sympa car je sent que je vais devoir faire face à tout un tas de problèmes
de ce genre)

Un grand merci d'avance !

Adrien





De manière générale, les erreurs '80004005' correspondent à un problème
de permissions.
Il faut vérifier les droits d'accès au fichier .mdb et vérifier que l'on
peut créer un fichier .ldb.

Le XP SP2 apporte des améliorations au niveau de la sécurité, il y a
peut-être un rapport.
Adrien Gaudel
Le #11490501
Merci beaucoup, c'était effectivement un problème de droit d'acces, dans les
propriété du fichier, j'ai mis que "tout le monde" à le controle total de
mon fichier acces et ça marche (pourtant "SYSTEME", "Administrateur" et
"moi" avaient aussi le contrôle total mais visiblement ça ne suffit pas)
Je suis vraiment soulagé car je me voyais mal modifier tous mes fichiers ASP
metant à jour des données !


"Francis" news:%

De manière générale, les erreurs '80004005' correspondent à un problème
de permissions.
Il faut vérifier les droits d'accès au fichier .mdb et vérifier que l'on
peut créer un fichier .ldb.

Le XP SP2 apporte des améliorations au niveau de la sécurité, il y a
peut-être un rapport.


Francis
Le #11490481
Adrien Gaudel wrote:
Merci beaucoup, c'était effectivement un problème de droit d'acces, dans les
propriété du fichier, j'ai mis que "tout le monde" à le controle total de
mon fichier acces et ça marche (pourtant "SYSTEME", "Administrateur" et
"moi" avaient aussi le contrôle total mais visiblement ça ne suffit pas)
Je suis vraiment soulagé car je me voyais mal modifier tous mes fichiers ASP
metant à jour des données !


"Francis" news:%


De manière générale, les erreurs '80004005' correspondent à un problème
de permissions.
Il faut vérifier les droits d'accès au fichier .mdb et vérifier que l'on
peut créer un fichier .ldb.

Le XP SP2 apporte des améliorations au niveau de la sécurité, il y a
peut-être un rapport.







En ASP, ce n'est ni l'administrateur ni le compte système qui accèdent
aux fichier. Sous NT/2000 c'est IUSR_<nom machine> ou IWAN_<nom machine>
, je ne sais pas si c'est identique sous XP.
De manière générale, évite le full control si c'est possible. Mais ça a
au moins le mérite de fonctionner...
Publicité
Suivre les réponses
Poster une réponse
Anonyme