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 !
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.