Les tutoriaux

Débutant

Intermédiaire

Avancé

Niveau avancé : Les messages d'erreur en ASP.

Quand on développe, on est souvent confronté à des messages d'erreur incompréhensible, voici quelques explications.

  • 80004005 Operation must use an updateable query

Cela ressemble à ceci :
Microsoft JET Database Engine error '80004005'
Operation must use an updateable query.
/ecom/admin_add.asp, line 90


Why Me??
This error happens when you try to insert data into or update data in an Access database and you do not have the correct permissions set up in order to write to the database. In other words .......

The "Write" permissions have not been set on the folder containing the database.
The database file itself does not have full "Read/Write" permissions set up.
Other less common causes could be that .......

The database is located outside the Inetpub/wwwroot directory. In such a case you may be able view and search the data but you may not be able to update it unless the database is located in the wwwroot directory.
The recordset you are using contains a non-updateable query. Joins,for instance, are non-updateable queries.
What must I do???
Points 1 & 2 are the most common causes of this error message. If you are running your own web server (i.e. IIS on your own computer for development work) go take a look at the
"Setting IIS Permissions" tutorial on the WebWiz site.

If you are getting this error on your Web Hosts server, go look at the hosting companies FAQ's to find out exactly where they expect you to store your database. They probably have a specific folder that you must use which already has the correct permissions set up. If you can't find anything in the FAQ's, contact their support team ....... that's what you are paying them for!

  • 80004005 Couldn’t use ‘(unknown)’; file already in use
    ou Microsoft Jet database engine cannot open the file (unknown)

What's it look like?
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver]
Couldn't use '(unknown)'; file already in use.

ou

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]
The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

Incorrect permissions are set on the server.
You have an out of date version of MDAC (Microsoft Data Access Components installed on the server or the version is not correctly installed).
What must I do???
Check that you (or your web host) have set up the permissions correctly (see previous error)

Make sure that you have the latest version of MDAC installed on your server. You can download it from www.microsoft.com/data/download.htm

  • 80004005 Data source name not found and no default driver specified
    ou Driver's SQLSetConnectAttr failed
    ou General error Unable to open registry key ‘DriverId’”)

Cela ressemble à ceci :
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager]
Data source name not found and no default driver specified

The page can’t find the DSN on your local machine.
The page can’t find the DSN on your Web Hosts server.
The DSN was set up as a user DSN, not as a system DSN.
If you are using Microsoft Access, the database file (.mdb) might be locked due to a DSN with a different name accessing the database.
What must I do???

Make sure that you have set up your DSN correctly on your local machine.
Just because you have a DSN on your local machine does not mean that your page will automatically work on your Web Hosts server. You have to set up a DSN (with the same name) on their server as well. Check your hosts FAQ's or mail their support team for instructions.
Check that the DSN you set up was a "System" DSN and not a "User" DSN.
Look for the lock file (.ldb) in the folder containing the database file (.mdb) and delete the .ldb file. If another DSN is pointing to the same database file delete that DSN to prevent the error in the future. Reboot the computer after making these changes.

  • 80004005 Logon Failed()

Cela ressemble à ceci :
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server]
Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection

This error is generated by SQL Server if it doesn’t accept or recognise the logon account or password being submitted (if you’re using standard security), or if a Windows NT account does not map to a SQL account (if you’re using integrated security).
What must I do???

If you use standard security, the account name and password could be incorrect. Try the system Admin account and password (UID= “sa” and no password), which must be defined in the connection string line.
If you use integrated security, check the Windows NT account calling the page, and find its mapped SQL account (if any).
SQL Server does not allow an underscore in SQL account names. If someone manually maps the Windows NT IUSR_machinename account to a SQL account of the same name, it will fail. Map any account that uses an underscore to an account name on SQL that does not use an underscore.

  • 800a0bcd Either BOF or EOF is true

Cela ressemble à ceci :
ADODB.Recordset error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Vous êtes en train d'éssayer d'afficher un élément de donnée et il n'y a pas d'enregistrement dans le jeu d'enregistrement.
Appliquer le comportement de serveur : afficher la région si le jeu d'enregistrement n'est pas vide, prenez le jeu d'enregistrement approprié et cliquez sur OK.

  • 80040e07 Data type mismatch in criteria expression

Cela ressemble à :
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver]
Data type mismatch in criteria expression

Vous éssayer d'enregistrer ou de mettre à jour un enregistrement avec les valeurs d'une colonne dans microsoft access avec une requete vide.

Avoid inserting and/or updating columns of "Date/Time" data types in Access with empty strings, ("") or with any other value that does not correspond to the range of values specified for the data type.

  • 80040e10 Too few parameters

cela donne ceci :
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access 97 Driver]
Too few parameters. Expected 1.

cela apparait quand vous éssayez de demander un enregistrement d'une colonne qui n'existe pas dans la base de données.

éffacer toutes les colonnes invalides de la sélection
regarder si vous n'avez pas mal orthographier le champs dans la requete.

  • 80040e10 COUNT field incorrect

Cela ressemble à ceci :
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] COUNT field incorrect

Why Me??
This can happen if ...

You are trying to insert a record into a database field that has a question mark in its field name. For example, one of the tables in the database has a field named "Married?"
What must I do???

The question mark (?) is a special character for some database engines, including Microsoft Access, and should not be used in database table names or field names.

  • 80040e14 Syntax error in INSERT INTO statement

Cela ressemble à ceci :
Microsoft JET Database Engine (0x80040E14)
Syntax error in INSERT INTO statement.
mypage.asp, line 53

Cela arrive quand :

Vous avez utilisé des 'mots réservés' dans un nom de table ou de champs de votre base de données.
Vous avez utilisé des caratères spéciaux comme : ". / * : ! # & - ?" ou un espace.

  • 80004005 Could not find file

Cela ressemble à ceci :
Microsoft JET Database Engine (0x80004005)
Could not find file 'C:\Inetpub\wwwroot\mydatabase.mdb'.

Pourquoi ?
Le dossier de la bdd est faux dans le fichier de connection.

Que faut-il-faire ?
regarder votre fichier de connection et placer le chemin correct.

  • 500 'Http 500 internal server error'

Cela ressemble à ceci :
'Http 500 internal server error' accompagné du message suivant : the page cant be opened.

Que se passe-t-il +?
Problème par rapport au serveur, peux être la liaison de la bdd, droit en écriture, ...

Que faut-il faire ?
Ouvrer 'internet explorer ' --- menu outils ---- options internet.
Clqiuer sur 'avancé'.
En dessous d
u titre navigation, décocher 'affichés des messages d'erreurs simplifiés'.
Vous aurez ainsi un meilleur rapport d'erreur qui vous aidera à mieux résoudre ce problème.