35 messaggi dal 28 novembre 2008
Ciao a tutti,
ho un problema che non riesco a risolvere.

Sul mio sito in ASP, utilizzo la seguente stringa di connessione al db mySQL :

driver=MySQL ODBC 3.51 Driver;option=16387;server=" & GLOBAL_SITE_DATABASE_PATH & ";uid=" & GLOBAL_DB_LOGIN & ";pwd=" & GLOBAL_DB_PASSWORD & ";database=" & sDBName

e fin qui non ho problemi, tutto funziona perfettamente. Adesso voreri passare al più performante oledb, ma scrivendo la seguente stringa di connessione :

Provider=MySQLProv; Location=" & GLOBAL_SITE_DATABASE_PATH & "; Data Source=" & sDBName & "; User Id=" & GLOBAL_DB_LOGIN & "; Password=" & GLOBAL_DB_PASSWORD & ";

o questa:

Provider=MySQLProv; Data Source=" & sDBName & "; User Id=" & GLOBAL_DB_LOGIN & "; Password=" & GLOBAL_DB_PASSWORD & ";

il sito non mi funziona, non viene efffettuata la connessione al db mySQL.

Sapete indicarmi la corretta stringa di connessione da inserire per collegarmi al db? è quel mySQLProv che non mi convince.

Grazie
spartaseventy wrote:
il sito non mi funziona, non viene efffettuata la connessione al db mySQL. Sapete indicarmi la corretta stringa di connessione da inserire per collegarmi al db? è quel mySQLProv che non mi convince.

http://www.aspitalia.com/servizi/connectionstring-MYSql.aspx per OLE-db è giusta. il problema è che il provider deve essere installato anche sul server dove fai girare la pagina. sul sito di mysql puoi scaricare i driver.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
1 messaggio dal 17 luglio 2009
Ciao,
io ho lo stesso identico problema, e non so come fare ad uscirne:

Ho un sito realizzato in asp che gira sotto IIS 7 che si connette ad un db MSSQL, per scelte politiche ho dovuto migrare il db su MySQL, ho cercato in giro nei vari tutorial e la configurazione della connessione sembrerebbe essere facile, ma il problema è che non funziona.
Voglio sfruttare OLE-DB, che sembrerebbe essere più performante
Utilizzo i seguenti comandi:


dim adoConn
set adoConn = Server.CreateObject("ADODB.Connection")
adoConn.Open "Provider=MySQLProv; Data Source=127.0.0.1; Initial Catalog=mio db; User Id=root; Password=miapassword;"
StringaSQL = "SELECT * FROM phyregioni order by Nome"
Set rs_regioni = Server.CreateObject ("ADODB.RecordSet")
rs_regioni.open StringaSQL,adoConn
while not rs_regioni.EOF
response.Write(rs_regioni("Nome")&"<br />")
rs_regioni.MoveNext()
WEnd
rs_regioni.Close()
Set rs_regioni = Nothing


Mi da il seguente errore:

ADODB.Connection error '800a0e7a'

Impossibile trovare il provider. È possibile che non sia installato correttamente.
Ho installato MySQL e MySQL Connector for ODBC scaricato dal sito ufficiale


Anche provando con altri metodi tipo i seguenti mi da errore

<%
'Primo metodo
dim adoConn
set adoConn = Server.CreateObject("ADODB.Connection")
adoConn.Open "server=127.0.0.1;db=miodatabase;driver=MySQL;uid=root;pwd=miapassword;"
StringaSQL = "SELECT * FROM phyregioni order by Nome"
Set rs_regioni = Server.CreateObject ("ADODB.RecordSet")
rs_regioni.open StringaSQL,adoConn
while not rs_regioni.EOF
response.Write(rs_regioni("Nome")&"<br />")
rs_regioni.MoveNext()
WEnd
rs_regioni.Close()
Set rs_regioni = Nothing
%>

<%
'Secondo metodo
Set rs_regioni = Server.CreateObject("ADODB.Recordset")
rs_regioni.ActiveConnection = "server=127.0.0.1;db=miodatabase;driver=MySQL;uid=root;pwd=miapassword;"
StringaSQL = "SELECT * FROM phyregioni order by Nome"
rs_regioni.Source = StringaSQL
rs_regioni.CursorType = 0
rs_regioni.CursorLocation = 2
rs_regioni.LockType = 1
rs_regioni.Open()
Set rs_regioni = Nothing
while not rs_regioni.EOF
response.Write(rs_regioni("Nome")&"<br />")
rs_regioni.MoveNext()
WEnd
rs_regioni.Close()
Set rs_regioni = Nothing
%>

In entrambi i casi non funziona e mi da il seguente errore:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.


Devo per caso configurare qualcosa sulla macchina dove gira il sito ed è repositato il db mysql, dare qualche autorizzazione particolare o sbaglio qualcos'altro?
Grazie a tutti anticipatamente per la collaborazione
41 messaggi dal 09 gennaio 2012
Se hai il processore a 64 bit assicurati che il driver di accesso al db sia a 64 bit.
Con questa impostazione dovrebbe andare tutto bene
<%
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "driver=MySQL ODBC 3.51 Driver; server=localhost;uid=nomeUtente; pwd=tuaPassword; database=nomeTuoDB; option=3; Port=3306;"

Ovviamente assicurati che la porta sia quella di default (3306).

Se ti manca il driver di accesso a MySQL per ASP
MyODBC-3.51.10-2-win.exe e successiva patch.
fammi sapere e te li mando.

Funziona sicuro con MySQL 5.x e ci lavoro da anni.

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.