2009-09-04 7 views
1

J'ai une application ASP exécutée sur un serveur IIS7 sous Windows Vista Home Premium (environnement de développement). L'application dispose d'un fichier ASA pour configurer des connexions à la base de données:Problème de connexion à MySQL depuis ASP dans IIS

<SCRIPT LANGUAGE=VBScript RUNAT=Server> 

Sub Application_OnStart 
    Application("db") = 2 
    Application("dbconnect") = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Port=3306;Option=0;Socket=;Stmt=;Uid=root;Pwd=root;CLIENT_MULTI_STATEMENTS=1;Database=appadmin;" 
End Sub 
</SCRIPT> 

Ensuite, les demandes sont traitées dans les pages asp, dont la première configuration de charge avec le code suivant:

Session("configid") = 1 
dbConnect = Application("dbconnect") 
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open (dbConnect) 
sql = "select * from settings where configid = "&Session("configid") 
Set RS = ExecuteRecordset(sql) 
... 

Tout semble bien, cependant , à toute demande sur le site, il enregistre l'erreur suivante:

|11|80004005|[Microsoft][ODBC_Driver_Manager]_Data_source_name_not_found_and_no_default_driver_specified 80 

ouverture d'une invite de commande et en cours d'exécution « mysql -uroot -proot -D appadmin » connecte à la base sans problème.

Des idées sur ce qui pourrait causer le problème?

+0

Désolé de tomber et vieille question, mais est-il une solution pour ce? J'ai le même problème avec IIS 7 et MySQL 5.5 J'essaie les pilotes MySQL ODBC 5.1 et 3.51 – Gavin

+0

Ce code est vulnérable à l'injection sql –

Répondre

1

regarder ma chaîne de connexion comme celui-ci

ConnectionString="Driver={MySQL ODBC 3.51 Driver}; Server=127.0.0.1;Port=3306; 
Database=MyDB;User=MyUser;Password=MyPassword;Option=3;" 

On dirait que le vôtre manquent l'utilisateur et mot de passe et ont l'option = 0 au lieu de 3