Asp & mysql


Contenu du snippet

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 !

A voir également

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.