MySQL e classic ASP

Mountain

Nuovo Utente
27 Dic 2012
11
1
3
Ho un computer con W10 e IIS vers. 10 in cui ho installato MySQL nella versione per sviluppatori. Con MySQL Workbench sono in grado di vedere il database di esempio "sakila" ed operare su di esso.
Ho poi creato un dns utente e gli ho dato per nome "sakila". Il test indica che il dns utente è corretto, per lo meno all'interno di WorkBench.
Adesso vorrei aprire una connessione a questo database in una pagina ASP "classica".
Ecco il codice relativo :
Codice:
<%
  dim cnn
  Set Cnn = Server.CreateObject("ADODB.Connection")
  cnn.connectionString="Driver={MySQL ODBC 8.0 ANSI Driver};Server=localhost;Database=sakila;User=root;Password=**********;Option=3;"
  Cnn.Open
Ma non funziona !
Ecco l'errore :
An error occurred on the server when processing the URL. Please contact the system administrator. If you are the system administrator please click here to find out more about this error.
Preciso che sono capace di effettuare la medesima connessione, però con un archivio di tipo MSAccess. Ed anche che ho consultato il sito www.connectionstring.com, senza però ricavarne informazioni a me utili.
Ovviamente la pagina risiede in uno spazio locale di un sito (sempre locale) che funziona correttamente con altre pagine classic ASP (che però si collegano ad un archivio MDB. Io però vorrei operare anche con MySQL.
Come rimediare ?
Grazie per l'attenzione
 

marino51

Utente Attivo
28 Feb 2013
2.865
153
63
Lombardia
potrebbe essere cnn.connectionString scritto minuscolo ?

poi crea un file ".txt" vuoto,
rinominalo ".udl"
doppio click su di lui
posizionati su "provider"
scegli il driver più consono
click su "avanti"
riempi "con sentimento" la configurazione che si presenta
click su "prova connessione"
se tutto va, esci (altrimenti rivedi i parametri inseriti e ritenta la connessione)
riapri il file con "blocco note", trovi la stringa di connessione
 

Mountain

Nuovo Utente
27 Dic 2012
11
1
3
Il trucchetto sembra interessante. Tuttavia, inserendo scegliendo come provider "Microsoft OLE DB Provider for ODBC Driver" (non saprei cosa altro scegliere; non c'è alcun provideer che richiami nel nome MySQL) con i seguenti dati,

ottengo l'errore indicato.
Al punto 3 (inserire il catalogo) ho scritto il nome del database, memore di cosa di fa con SQL Server. E' giusto ? no saprei cosa altro inserire (non certo il nome di una tabella).
Preciso che in Pannello di Controllo - Strumenti di Amministrazione, ho i 2 seguenti dati :
"ODBC Data Source (32 bit) che fa riferimento a %windir%\syswow64\odbcad32.exe
e
"Origine dati ODBC (64 bit)" che fa riferimento a %windir%\system32\odbcad32.exe
Qui mi sembra che ci sia un po di confusione (32 bit / syswow64 e 64 bit /system32)

Durante l'installazione ho preferito scegliere l'opzione "driver vers. 5.3" piuttosto che quella "driver vers. 8.0" in quanto, dovendovi interfacciare con il vecchio VB6, mi è sembrato più opportuno scegliere un driver vecchio, datato.
Poi è possibile che, nei vari tentativi, abbia poi installato anche i driver vers. 8.0.
 

marino51

Utente Attivo
28 Feb 2013
2.865
153
63
Lombardia
vedi se trovi installato un "configuration manager" per MySQL (potrebbe essere lo stesso WorkBench)
e verifica se, trovando, sono configurati i protocolli
upload_2019-7-14_20-23-1.png


il "dns utente" che hai creato, dovrebbe consentirti la verifica della connessione nell'ultima scheda (dopo "fine")
upload_2019-7-14_20-27-40.png


cerca di essere sicuro di poter usare il "dns utente" e non sia invece necessario un "dns di sistema"

ultima considerazione nella scheda "provider" dovresti trovare i driver che hai installato
(driver vers. 5.3 .... abbia poi installato anche i driver vers. 8.0)
 

Mountain

Nuovo Utente
27 Dic 2012
11
1
3
@marino51
Grazie.
Rimuovendo tutti gli spazi nella stringa di connessione funziona tutto, sia dal lato VB6 che dal lato classic ASP.
Codice:
strCnn = "Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Database=sakila;User=root;Password=*****;Option=3;"
 
  • Like
Reactions: Paolo69

Santies

Nuovo Utente
1 Ago 2019
1
0
1
potrebbe essere cnn.connectionString scritto minuscolo ?

poi crea un file ".txt" vuoto,
rinominalo ".udl"
doppio click su di lui
posizionati su "provider"
scegli il driver più consono
click su "avanti"
riempi "con sentimento" la configurazione che si presenta
click su "prova connessione"
se tutto va, esci (altrimenti rivedi i parametri inseriti e ritenta la connessione)
riapri il file con "blocco note", trovi la stringa di connessione

https://gadgetfeatures.com