Dreamweaver e connessioni con Mysq

giovedì 02 giugno 2005 - 14.38

thantalas Profilo | Newbie

Ciao a tutti,
mi sono appena iscritto, e ho appena iniziato la mia avventura con asp.net.
Premetto che da anni uso asp 3 e aspettavo un sito piccolo per cominciare con ASP.Net.. l’ occasione è arrivata, ma subito un muro mi si posa davanti…
Come database utilizzo Mysql e come software di sviluppo uso Dreamweaver Mx (ho certificazioni Macromedia); il mio problema è connettermi al database UTILIZZANDO I COMPORTAMENTI DI DW, che mi velocizzano notevolmente il lavoro.
Ho cercato per due giorni una soluzione al mio problema, scaricando tutte le dll possibili x la connessione a questo database, ho l’etto l’articolo dedicato a Mysql in questo sito, e normalmente riesco a connettermi al db manualmente ma non con DW o meglio , provando con le diverse scelte di tipo di connessioni disponibili nella scheda connection di DW sono riuscito a connettermi al db e ad utilizzare correttamente tutti i comportamenti del software… in debug DW vede le tabelle, fa i dataset ecc. correttamente ma quando vado a testare tutto sul server mi da errore di provider della connessione impostata nel web.config.
Ora ho scaricato mysqlconnector ed altri driver ma nn cambia niente. L’ errore del provider persiste uno è di tipo
‘“System.ArgumentException: Il provider di dati .Net Framework per OLEDB (System.Data.OleDb) non supporta il provider Microsoft OLE DB per driver ODBC’ (MSDASQL).” Questo è il messaggio con un DSN che funziona benissimo in asp classico
Se imposto un provider tipo MySQLPROV (come ho trovato in diversi articoli in web) mi dice che in provider non è registrato..

Ora ho già letto un tread sull’argomento, ma la soluzione definitiva nn è mai stata data. Il post è vecchio di qualche mese e mi chiedevo se qualcuno ha risolto il problema in qualche maniera.


Ribadisco che con una connessione “manuale”, riesco a fare tutto, ma perdo tutti i comportamenti di DW a me tanto cari e veloci.
‘Import Namespace="System.Data"
‘Import Namespace="System.Data.ODBC"
‘script language="VB" Runat="server"
‘Sub Page_Load(Source as Object, E as EventArgs)
BindData
End Sub
‘Sub BindData()
Dim strConn as string
strConn = "driver=MySQL ODBC 3.51 DRIVER;SERVER=localhost;DATABASE=andy;" & _
"USER=user;PASSWORD=password; OPTION=3; Persist Security Info=False;Integrated Security=SSPI;"
Dim MySQL as string = "Select * from andy_user"
Dim MyConn as New ODBCConnection(strConn)
Dim ds as DataSet=New DataSet()
Dim Cmd as New ODBCDataAdapter(MySQL,MyConn)
Cmd.Fill(ds,"nome")
MyDataGrid.Datasource=ds.Tables("nome").DefaultView
MyDataGrid.DataBind()
End Sub
Ecc ecc
Questo funziona alla perfezione

Posto il file webconfig tanto per darvi un idea dcon la connessione DSN



configuration
appSettings
add key="MM_CONNECTION_HANDLER_con3" value="default_oledb.htm"
add key="MM_CONNECTION_STRING_con3" value="Provider=MSDASQL.1;Persist Security Info=False;Data Source=andy"
add key="MM_CONNECTION_DATABASETYPE_con3" value="OleDb"
add key="MM_CONNECTION_SCHEMA_con3" value=""
add key="MM_CONNECTION_CATALOG_con3" value=""
appSettings
system.web
compilation debug="true"
system.web
configuration

Spero che qualcuno mi possa aiutare.
Scusate per il post un po’ lungo.
Th!

Brainkiller Profilo | Guru

Ciao,
io non ho mai utilizzato le connessioni dirette create dall'ambiente, io uso Visual Studio, specialmente per database non-Microsoft perchè anche a me spesso sono capitati problemi simili al tuo. Preferisoc infatti lavroare scrivendo il codice e gestendo personalmente le attività da svolgere sul DB.

Cercando sulla KB di Macromedia mi sono imbattuto su questo articolo che mi sembra abbia a che fare proprio con il tuo errore:
http://www.macromedia.com/go/tn_16303

ciao
david

thantalas Profilo | Newbie

Ciao David,
grazie per la ditta, ma ho già letto l'articolo su macromedia, e non aiuta a risolvere il problema, infatti dice solo che cìè questo problema ma nn aiuta a risolverlo.........
Evidentemente mi sa che non esisteUn Provider (non un driver) corretto per accedere in questo modo a database MySQL ...
COme al solito mi sa che Microsoft ha fatto come cavolo vuole.
Grazie
Giorgio

Brainkiller Profilo | Guru

Ciao Giorgio,
mah io non credo che sia così, purtroppo non essendo nel campo Macromedia non sono neanche molto informato, ho usato spesso Dreamweaver che trovo un ottimo strumento ma a mio avviso le ultime release si sono di molto appesantite, inoltre mi piace sviluppare direttamente nell'ambiente di sviluppo (VS.NET) anche se non a livello visuale ma direttamente a livello di codice, anche se certe volte mi sparerei.

Conoscendo Macromedia non credo che con un problema del genere abbia lasciato così le cose anche perchè la selezione del Provider dati è abbastanza standard dovrebbe funzionare con qualsiasi base dati. Inoltre non credo che in questo caso sia responsabilità di Microsoft visto che se non sbaglio se tu lavori da codice riesci a fare tutto. Probabilmente è un problema di configurazione di qualcosa ma ignoro la causa.
In giornata provo a sentire un paio di colleghi che lavorano su Macromedia ed eventualmente rispondo nuovamente al thread con la speranza di avere una soluzione.

ciao
david

thantalas Profilo | Newbie

Non fraintendermi,
a microsoft imputo solo la colpa di non aver sviluppato un provider per Mysql che è un ottimo DB freeware, mentre per esempio per Oracle l' ha fatto che di certo nn è free. Teoricamente un provider oledb dovrebbe andare bene ma invece .. ciccia .
Comunque grazie infinite, mi sto affacciando ora ad ASP.NEt dopo anni di asp e sto trovando un po' di difficoltà ad ambientarmi.
Giorgio

Brainkiller Profilo | Guru

>a microsoft imputo solo la colpa di non aver sviluppato un provider per Mysql che è un ottimo DB freeware,
>mentre per esempio per Oracle l' ha fatto che di certo nn è free.

E' vero, mi sono sempre chiesto anche io il motivo del "non sviluppo" di un Provider MySQL. Fra l'altro fra Oracle e Microsoft non corre buon sangue, ma quando si tratta di affari.... sembra che depongano le armi tutte le volte.

Nell'articolo che ho scritto ho segnalato anche che sul sito mysql.org sono presenti alcuni provider anche OLEDB se non erro di MySQL e non mi sembrava che li avessi menzionati nel tuo post iniziale, prova a darci un occhio.

ciao
david

thantalas Profilo | Newbie

Si li ho già installati, e nel mio post iniziale l' ho menzionato, il fatto è che effettivamente non installano un provider effettivo, ma vengono riconosciuti come , in asp.net sono un po neofita, mi sempra come componenti, da piazzare nella root del sito o nella cartella bin se non sbalgio, e vengono visti come dll; scusa se non mi spiego bene, ma in poche parole è cos' o almeno dovrebbe essere.
Comunque li ho provati e funzionano anche se ni file di help il tutto è un po confuso.
Funzionano alla perfezione, ma non svolgono la funzione di cui necessito , cioè proprio Provider.
In + ho trovato una cosa che non sono riuscito a racapezzarmi.
I datareader dovrebbero, a quanto ho letto funzionare come di recordset con asp, ma con mysql nn del tutto. Molte proprietà e metodi nn funzionano, sicuramente canno io in qualcosa.
L' unica cosa che mi spiace è che non ho molto tempo per fare tentativi e per testare diversi metodi per lavorare con db in asp.net.
Di Visual basic ne capisco abbastanza, ed il linguaggio lo conosco bene, (ho sviluppato alcuni software anche con interrfacce completamente in flash e programmazione in Vb). Volevo passare ad asp.net anche per questo motivo oltre per il fatto che praticamente posso fare il doppio di quello che faccio ora in asp se conti poi che ho un server mio e posso caricarci quello che voglio... ma non voglio cambiare base di dati.
Ti ringrazio di cuore x l' aiuto che hai cercato di darmi, mi sa che devo passare nottate a provare e riprovare per fare un po' di esperienza.
Giorgio

Brainkiller Profilo | Guru

Allora sì, il DataReader dovrebbe essere una specie di Recordset, però ha alcune peculiarità, allora può essere intanto aperto un solo DataReader per ogni connessione, e questo è un limite che però è stato risolto nel Framework 2.0. Inoltre il DataReader è forward only, va solo avanti. Non so esattamente a cosa ti riferisci con proprietà e metodi non supportati.

C'è da dire che di solito i vari provider vengono poi ottimizzati e customizzati in base all'RDBMS in uso. Infatti i vari RDBMS sono diversi e non tutti implementano le stesse funzionalità, tipo MySQL se non erro non ha ancora le Stored Procedure quindi il relativo Data Provider sarà tagliato di queste features.

Io ho sempre provato utilizzando Data Provider Free, però come ben sai ti puoi fidare fino a domani nel senso che probabilmente non c'è un supporto tecnico pronto a risponderti ad ogni domanda diversamente da ciò che potrebbe succedere con un Data Provider a pagamento/commerciale.

Cmq. hai ragione a mentenere MySQL sul server, del resto funziona molto bene in certi ambiti e ha un costo relativamente basso, in alcuni casi può essere usato free.

ciao
davd

thantalas Profilo | Newbie

Nell' ultima versione hanno aggiunto anche le stored procedure e altre funzionalità già presenti in Sqlserver.
Sono anni che lo uso, e devo dire che mi trovo veramente bene, ci gestisco interi portali (www.fispin.it) senza nessun problema di prestazioni o altro.
Giorgio

Brainkiller Profilo | Guru

Si, so che nella versione 5.0 avrebbero aggiunto Stored Procedure e altre features importanti che ancora mancavano a MySql, ma mi pare che questa versione sia ancora in fase di sviluppo. Resta cmq. un buon database. Fra l'altro anche Yahoo! Finance lo utilizza.

ciao
david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5