Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
vendredi 21 novembre 2008 Rechercher :
Déposez votre CV gratuitement sur touslesemplois
 
comparer les prix
» Logiciels
» Jeux vidéos
» Matériel Informatique


» ASP.NET
» ASP
» SQL
» PHP
» JAVASCRIPT
» XML
 


» ACTUALITÉ / DIVERS
» DROIT DE L'INTERNET
» INFOS VIRUS
» PATCHS MICROSOFT
» SÉCURITÉ
» BASES DE DONNÉES
» DOWNLOAD .NET
» LOGITHÈQUE
» SERVICES WEB
» Y SONT FOUS !
» .NET
» ASP
» ASP.NET
» JAVA
» PHP
» XML
» LANGAGE C#
» LANGAGE VB.NET
» UNIX / LINUX
» WINDOWS
» EVÈNEMENTS
» GASP
» MICROSOFT
 


Vous êtes ici : Forums > Langage ASP > Erreur de compilation Microsoft VBScript error '800a0400'

Erreur de compilation Microsoft VBScript error '800a0400'
J'utilise ASP et IIS avec XP Pro comme systeme. Mais il me signale cette erreur plus bas que vous verrz apres le code. Je ne comprends encore rien a ASP, SQL Server et leur logique. Voici mon code:
********************************
********************************
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 1</title>
</head>
<body>
<%
option explicit
response.buffer = true

' Constantes de Bases de Données
Const adLockReadOnly = 1
Const adLockOptimistic = 3
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adOpenKeyset = 1
' Constante de formattage
const font = "face=""arial"" color=""#000000"" size=""2"""

dim conn as Connection, rs as Recordset, connstring as String
'set conn = new Connection
'set rs = new Recordset

'response.write "Voici les données de la table authors dans la BDD pubs"

'connexion ADO vers SQL -------------------
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "provider=SQLOLEDB.1;" _
& "DataSource=C:\Inetpub\wwwroot\SQLSERVERDATA;" _
& "Initial Catalog=pubs;" _
& "User ID=Juvénal;" _
& "password=;" _
conn.open 'connstring
'FIN ADO vers SQL -------------------

set rs = server.createObject("ADODB.Recordset")
rs.open "authors", conn,adLockOptimistic, adOpenDynamic
' affichage du nombre d'enregistrements
response.write "<b>" & rs.recordCount & " enregistrements</b>"
response.write "<TABLE border=1 bordercolor=#AAAAC9 cellpadding=2 cellspacing=0 style=""font-size:10pt""><tr>"
' affichage des nom de champs
for i=0 to rs.Fields.count-1
response.write "<th>" & rs.fields(i).au_lname &"</th>"
response.write "<th>" & rs.fields(i).au_fname &"</th>"
response.write "<th>" & rs.fields(i).phone &"</th>"
response.write "<th>" & rs.fields(i).adress &"</th>"
next
response.write "</tr>"
' affichage des valeurs
do while not rs.eof
response.write "<tr>"
for i=0 to rs.Fields.count-1
response.write "<td>" & rs.fields(i).value & "</td>"
response.write "<td>" & rs.fields(i).value & "</td>"
response.write "<td>" & rs.fields(i).value & "</td>"
response.write "<td>" & rs.fields(i).value & "</td>"
next
rs.movenext
response.write "</tr>"
loop
response.write "</TABLE>"
rs.close
set rs = nothing
conn.close
set conn = nothing


%>
</body>

</html>

*************************************************
Erreur de compilation Microsoft VBScript error '800a0401'
Fin d'instruction attendue
/iisHelp/common/500-100.asp, line 11
Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^
Erreur de compilation Microsoft VBScript error '800a0400'
Instruction attendue
/test1/default.asp, line 10
option explicit
^

Message posté le 24/04/2006 par Juve

Répondre à ce message
 
AuteurRéponse 
Salem
24/04/2006
RE : Erreur de compilation Microsoft VBScript error '800a0400'
Ton option explicit doit se trouver en debut de code. De plus, contrairement au VB, quand tu declares tes variables avec DIM, ne specifie pas de type (as ...).

Voici le debut de ton code corrige:

<% option explicit %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 1</title>
</head>
<body>
<%
response.buffer = true

' Constantes de Bases de Données
Const adLockReadOnly = 1
Const adLockOptimistic = 3
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adOpenKeyset = 1
' Constante de formattage
const font = "face=""arial"" color=""#000000"" size=""2"""

dim conn, rs, connstring
'set conn = new Connection
'set rs = new Recordset

'response.write "Voici les données de la table authors dans la BDD pubs"

'connexion ADO vers SQL -------------------
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "provider=SQLOLEDB.1;DataSource=C:\Inetpub\wwwroot\SQLSERVERDATA;Initial Catalog=pubs;User ID=Juvénal;password=;"
conn.open connstring
'FIN ADO vers SQL -------------------
...
Répondre
Juve
26/04/2006
RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
Apres avoir inserre votre code, il m'a signale cet erreur:
********************************
Erreur de compilation Microsoft VBScript error '800a0401'
Fin d'instruction attendue
/iisHelp/common/500-100.asp, line 11
Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^
Microsoft OLE DB Provider for SQL Server error '80040e4d'
Attribut de chaîne de connexion non valide
/Test1/default.asp, line 29

******************************

Je pense personnellement qu'il y a un pb dans ma chaine de connexion.
Vu que je ne maitrise pas encore ces trucs de DSN(Comment ca marche). Sinon j'ai deplace la base de donnees pubs qui etait dans le rep Data de SQL Server, je l'ai mise dans un rep nomme "SQLSERVERDATA" au niveau du rep "wwwroot" de IIS. Mais ca ne marche pas.
Alors si vous pouvez m'aider dans ce sens. Mecri encore ....
...
Répondre
Salem
26/04/2006
RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
Utilise cette chaine de connexion, en remplacant le nom de serveur, le nom de la base de donnees, le username et password:

"DRIVER={SQL Server};SERVER=nom_du_serveur;DATABASE=nom_de_la_base;UID=ton_username;PWD=ton_password"


PS: pas necessaire de me vouvoyer ;o) ...
Répondre
Juve
27/04/2006
RE : RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
Mon cher Salem ca n'a pas marche. A la config de Systeme DSN, il a seulement accepte l'authentif Windows NT. J'ai teste ca marche. Voici meme le resultat de la config DSN:
****************************
Microsoft SQL Server ODBC Driver Version 03.85.1117

Data Source Name: pubs
Data Source Description:
Server: IPX-RABI-DELL
Database: pubs
Language: (Default)
Translate Character Data: Yes
Log Long Running Queries: No
Log Driver Statistics: No
Use Integrated Security: Yes
Use Regional Settings: No
Prepared Statements Option: Drop temporary procedures on disconnect
Use Failover Server: No
Use ANSI Quoted Identifiers: Yes
Use ANSI Null, Paddings and Warnings: Yes
Data Encryption: No

****************************

Voici mon code juste la partie chaine de connexion:

<% option explicit %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 1</title>
</head>
<body>
<%
response.buffer = true

' Constantes de Bases de Données
Const adLockReadOnly = 1
Const adLockOptimistic = 3
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adOpenKeyset = 1
'Constante de formattage
const font = "face=""arial"" color=""#000000"" size=""2"""

dim conn, rs, connstring
'set conn = new Connection
'set rs = new Recordset

'response.write "Voici les données de la table authors dans la BDD pubs"

'connexion ADO vers SQL -------------------
Set conn = Server.CreateObject("ADODB.Connection")

connstring = "DRIVER={SQL Server};SERVER=IPX-RABI-DELL;DATABASE=pubs;UID=pjbouassa;PWD=debouchon"

conn.open connstring

****************************

Et enfin, voici l'erreur qu'il genere:

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 '80040e4d'

[Microsoft][ODBC SQL Server Driver][SQL Server]Échec de la connexion de l'utilisateur 'pjbouassa'.

/test1/default3.asp, line 32



J'utilise les parametres de connexion du domaine de l'entreprise. Mais mon IIS et mon SQL Server sont en local sur ma machine puisqu'a l'installation de SQL Server, j'avais choisi le mode mixte pour la connexion a SQL Server

Merci d'avance de tout lire et de me repondre... A+ ...
Répondre
Salem
27/04/2006
RE : RE : RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
Il faut que tu crees un login dans SQL Server, avec authentification "SQL Server", et non NT.

Ou alors, il est possible que ca marche egalement en creant un login pour [nom du serveur]\IUSR_[nom du serveur]

Personnellement, j'utilise toujours un login avec authentification SQL Server pour acceder a mes DBs depuis mes pages ASP.

A+

Salem ...
Répondre
Juve
28/04/2006
RE : RE : RE : RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
Bonne idee Salem. Pour creer ce login on va ou? J'ai regarde ds le generateur de profils, il n'y a rien.

cmt le faire. Merci d'avance
...
Répondre
Salem
28/04/2006
RE : RE : RE : RE : RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
Je ne connais pas les termes dans l'interface francaise d'Enterprise Manager, donc je te les donnes en francais (mais tu devrais t'y retrouver).

Quand tu demarres Enterprise Manager, ouvre ton instance d'SQL Server. Ensuite, ouvre le dossier "Security", clique droit sur "Logins" et choisis "New login". Dans la fenetre qui s'ouvre, donne un nom pour le nouveau login, choisis l'authentification SQL Server, donne un mot de passe, et choisis la DB par defaut (ca t'evitera de specifier le nom de la DB dans tes chaines de connexion). Ensuite, va dans l'onglet "Database Access", coche la DB a laquelle tu dois te connecter, et dans la partie du bas, selectionne le niveau de permission. Tu peux choisir datareader et/ou datawriter, mais ca n'autorisera pas d'executer les procedures stockees (si tu en utilises) a moins que tu donnes des permissions individuelles. Ou sinon, tu peux egalement donner la permission db_owner, qui permettra a ton login de tout executer.

A+

Salem ...
Répondre
Juve
28/04/2006
RE : RE : RE : RE : RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
J'utilise actuellement le compte "sa" avec un mot de passe que j'ai defini. J'ai aussi trouve cmt creer des comptes ds SQL Server.

Mais autre chose comme erreur. Voici le debut du code:

<% option explicit %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 1</title>
</head>
<body>
<%
response.buffer = true

' Constantes de Bases de Données
Const adLockReadOnly = 1
Const adLockOptimistic = 3
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adOpenKeyset = 1
'Constante de formattage
const font = "face=""arial"" color=""#000000"" size=""2"""

dim conn, rs, connstring

'response.write "Voici les données de la table authors dans la BDD pubs"

'connexion ADO vers SQL -------------------
Set conn = Server.CreateObject("ADODB.Connection")

connstring = "DRIVER={SQL Server};SERVER=IPX-RABI-DELL;DATABASE=pubs;UID=sa;PWD=jesus"

conn.open connstring


Et voici l'erreur mais en donnant quand meme le nbre d'enregistrements:

23 enregistrementsMicrosoft 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 VBScript runtime error '800a01f4'

Variable is undefined: 'i'

/test1/default3.asp, line 41


Merci d'avance de le voir... ...
Répondre
Salem
28/04/2006
RE : RE : RE : RE : RE : RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
Ah ben c'est deja mieux. La connection a la DB fonctionne a priori.

Pour le message d'erreur "Expected end of statement", en general, c'est parce qu'il manque une guillement pour fermer une chaine de caracteres, ou qu'il y en a une en trop.
Qu'as tu en ligne 11 ?

Pour le 2eme message d'erreur, "Variable is undefined: 'i'", tu utilises apparement une variable "i" que tu n'as pas defini avec un DIM. ...
Répondre
Juve
29/04/2006
RE : RE : RE : RE : RE : RE : RE : RE : RE : Erreur de compilation Microsoft VBScript error '800a040
Salut,
C'est avec satisfaction que je reponds a ton message. Merci pour ta disponibilite. Tout fonctionne maintenant. A+ gar. ...
Répondre
dddd
10/05/2006
RE : RE : Erreur de compilation Microsoft VBScript error '800a0400'
test ...
Répondre


ASP Serveur - L'hébergement ASP.NET


A RETENIR CETTE SEMAINE
21/11/2008 - Microsoft Windows fête ses 23 ans !
Le célèbre système d'exploitation de Microsoft fête aujourd'hui son vingt-troisième anniversaire. C' ...
21/11/2008 - Pratiques fondamentales pour un développement logiciel sûr
L'article de Micheal Howard vient d'être traduit en français par Kader Yildirim ! Ce document synthé ...
21/11/2008 - Mise à jour de la méthode SDL pour éradiquer définitivement les Mécapoulets
Les Mécapoulets sont une menace perpétuelle pour les développeurs et les utilisateurs de leurs appli ...
20/11/2008 - A la découverte des tests d’interfaces graphiques avec Visual Studio 2010
Microsoft introduit dans sa version 2010 de Visual Studio les « Coded UI Tests », ou « Tests d’inter ...
20/11/2008 - PDC 2008 - Windows Azure vu par Grégory Renard
Grégory vous propose de découvrir en vidéo - et en 5 minutes - les annonces faites autour de Windows ...
20/11/2008 - Microsoft prépare une suite antivirus gratuite
L’éditeur abandonne Live One Care, sa solution payante, au profit de Morro, une suite antivirus grat ...
19/11/2008 - Comprendre le fonctionnement des Rules de WF
L'activité Policy va nous permettre de piloter nos workflows à partir de règles simples mais efficac ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade