Vous trouverez ci dessous un exemple de connexion à une base mySQL depuis une page ASP.
Rien de compliqué, l'utilisation est comme pour Access, mais c'est vrai que les paramètres ne s'invente pas...
ATTENTION il faut avoir MyODBC sur la machine ou il y a les pages ASP.
Source / Exemple :
<%
' Déclaration de mes variables
Dim LE_DSN
Dim MaConnexion
Dim ServerAddress
Dim DBName
Dim UID
Dim Password
' IP ou Nom du serveur mySQL
ServerAddress = "localhost" 'localhost si c'est sur la même machine
' Nom de la base de données
DBName = "mabase"
' Login pour la base
UID = "LeLogin"
' Mot de passe pour la base
Password = "LeMotDePasse"
' Ici on construit la chaine de connexion ODBC
LE_DSN = "driver={MySql};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"
' Paramètre de connexion + connexion
Set MaConnexion = Server.CreateObject("ADODB.Connection")
MaConnexion.ConnectionTimeout = 30
MaConnexion.CommandTimeout = 30
MaConnexion.Open LE_DSN
' J'ai tout segmenté pour une question de souplesse mais on peut faire plus court
' sans utiliser les variables et faire la chaine de connexion directement.
'
' Pour "option=16386" j'ai mis du temps à trouver car si vous ne mettez pas cela,
' Cela ne fonctionnera pas correctement. Ci dessous la liste des options de connexion
' pour MyODBC (désolé, j'ai pas eu le temps de traduire :) )
' The Option argument is used to tell MyODBC that the client isn't 100% ODBC compliant.
' The following options are listed in the same order as they appear in the MyODBC connect screen:
' 1 The client can't handle that MyODBC returns the real width of a column.
' 2 The client can't handle that MySQL returns the true value of affected rows.
' If this flag is set then MySQL returns 'found rows' instead.
' One must have MySQL 3.21.14 or newer to get this to work.
' 4 Make a debug log in c:\myodbc.log. This is the same as putting MYSQL_DEBUG=d:t:O,c::\myodbc.log in AUTOEXEC.BAT
' 8 Don't set any packet limit for results and parameters.
' 16 Don't prompt for questions even if driver would like to prompt
' 32 Simulate a ODBC 1.0 driver in some context.
' 64 Ignore use of database name in 'database.table.column'. (MySQL 3.22)
' 128 Force use of ODBC manager cursors (experimental)
' 256 Remove use of extended fetch (experimental)
' 512 Pad CHAR fields to full column length.
' 1024 SQLDescribeCol() will return fully qualifed column names
' 2048 Use compressed protocol (if server supports it)
' 4096 Tell server to ignore space after function name and before '(' (needed by PowerBuilder). This will make all function names keywords!
' 8192 Connect with named pipes to a mysqld server running on NT.
' 16384 Change LONGLONG columns to INT columns, as some applications can't handle LONGLONG.
' 32768 Return 'user' as Table_qualifier and Table_owner from SQLTables (test)
' 65536 Read my.cnf
' 131072 Add some extra safety checks (should not bee needed but...)
%>
Conclusion :
Simple non ? :)
Et croyez moi, ça marche du tonerre !
6 août 2006 à 01:09
Moi je débute depuis hier sur mysql avec asp. Je prog depuis plus de 7 ans en asp mais aussi en php depuis peu. Je croyais que ca serait plus complexe. Ouf, enfin! Ca c'est fait en quelques clics.
Toutefois, j'utilise phpMyadmin pour l'interfacage. Y a t-il une autre sorte d'interface pour accéder aux données ainsi? Quoi que je trouve phpmyadmin merveilleux, je me demande si c'est de mise, ou si ca peut affecter quelque chose de travailler en asp mais d'administrer par phpmyadmin?
Je vous le dis tout de suite messieurs, je suis vendu asp, vb et vbscript et non php. Alors si y en comme moi qui sont asp + mysql, faites-le moi savoir, j'aurai besoin de quelque peu de conseils rapides pour ne pas tomber dans des pièges de typage de donnée ou de perte de temps genre.
Merci à l'avance les amis
26 juil. 2004 à 02:51
30 mars 2004 à 19:33
nass932 => Merci pour ta réponse ;) Heureusement qu'il y a des mecs sympas sur ce site.
21 sept. 2003 à 03:39
ConnexionString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=Ton_Serveur;" & _
"DATABASE=Ta_Base_de_Données;" & _
"USER=Ton_Nom;" & _
"OPTION=96;" & _
"PASSWORD=Ton_Mot_De_Passe;"
21 sept. 2003 à 02:52
par avance merci.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.