Provider per mysql

martedì 13 aprile 2004 - 10.13

trinity Profilo | Guru

Mi potete dire quale è il miglior provider che posso utilizzare per la connessione al database mysql? ODBC.NET, MySQLDirect .NET della corelab, ByteFX mysqlclient o c'è ne un altro?

ciao

Brainkiller Profilo | Guru

Ciao Trinity,
io l'unico che ho provato è quello Free Open-Source che si scarica dal sito di MySQL. Quelli che hai indicato tu immagino siano commerciali. Un prodotto commerciale dà sicuramente più garanzie di uno free ma non è detto che vada molto meglio rispetto al free.
Del resto una volta che trovi un .NET Data Provider che fa quello che vuoi sei a posto, e mi pare che quello Free faccia già molto.

ciao
david

trinity Profilo | Guru

Ho scaricato il provider mysql che mi hai detto è della bytefx e stavo provando a fare una connessione ad un database mysql, ti posto la stringa di connessione per un controllo, in quanto mi da il seguente errore:

Unable to connect to any of the specified Mysql Hosts

ecco il codice che ho utilizzato:

Dim db as new mysqlconnection
db.connectionstring=""Database=Test;Data Source=localhost"
db.open

freeteo Profilo | Guru

ciao,
la stringa di connessione mi sembra sbagliata, io ho usato questa:
"server=mioPC;user id=root;Password=;database=NomeDb"

e cosi funziona tranquillamente...
prova a darci 1occhio ;-)

trinity Profilo | Guru

ho provato a fare come mi hai detto ma non funziona mi da lo stesso errore, ti posto il mio codice:

db.ConnectionString = "server=localhost;user id=root;Password=;database=invoice"

invoice è il database di mysql

Brainkiller Profilo | Guru

Il database sei sicuro che è attivo ed è in listening sulla porta predefinita ?

ciao
david

trinity Profilo | Guru

Mi potresti fare un esempio? io prima utilizzavo l'odbc net e connettevo tramite dsn quindi mi limitavo a creare il database, a creare un dsn di sistema e utilizzavo il segeunet codice:

db.connectionstring="DSN=invoice"
db.open

ora per me questo è nuovo quindi non so come muovermi, puoi darmi una mano?

ciao e grazie mille

Brainkiller Profilo | Guru

Ciao,
di solito la stringa di connessione a MySQL è la seguente:

"Data Source=server;Database=mydb;User ID=username;Password=pwd;Command Logging=false"

Chiaramente sostituisci server con il nome del tuo server su cui c'è MySQL, username e pwd.

ciao
david

trinity Profilo | Guru

ciao sono andato sul sito di mysql e ho letto che esiste un provider per la connessione diretta al database, l'ho scaricato e ho fatto una procedura di prova connettendomi in c# al database di default di mysql "test" il codice che ho copiato dal sito mysql è il seguente:


using ByteFX.Data.MySQLClient;


string DataSource = "localhost";
string Database = "test";
string UserID = "root";
string Password = "root";

string MyConString = Data Source=" + DataSource +
";Database=" + Database +
";User ID=" + UserID +
";Password=" + Password;

MySqlConnection mycon = new MySqlConnection(MyConString);
mycon.Open();

ma ho provato e non funziona, mi dice che la connessione all'host non è abilitata.

come posso fare?Potrebbe essere un settaggio del mio database?

ciao

freeteo Profilo | Guru

ciao,
hai provato a connetterti con qualche tool di amministrazione come mysqlcc (mysql control center)?
da li forse capisci cosa ci vuole come connessione, per esempio io senza impostare niente mi son trovato la password vuota :-)

ciao

trinity Profilo | Guru

Ho risolto ho scaricato la trial del provider corelab è una bomba, ho fatto delle prove e funge e in più è molto + veloce nelle funzioni insert in confronto dell'ODBC NET.

ciao

Brainkiller Profilo | Guru

Infatti nell'altro messaggio ti ho scritto perchè usando il .NET Data Provider vai molto più veloce che passando per ODBC. Comunque da oggi c'è pubblicato un nuovo articolo che magari ti può aiutare:
http://www.dotnethell.it/articles/article.aspx?ArticleID=119

ciao
david

trinity Profilo | Guru

Ho letto il tuo articolo ed è stato molto interessante e mi ha tolto molti dubbi,tanto è vero che ho immediatamemente scaricato il data provider free chiamato: MySQLDriverCS

ho fatto delle prove su vb net 2002, x quanto riguarda la connessione al database funziona perfettamente, mentre se vado ad effettuare una select su una tabella, nel momento in cui lancio il comando Mysqlcommand.ExecuteNonQuery() mi esce un errore: Eccezione non gestita di tipo "MySQLDriverCS.MySQLException" in mysqldrivercs.dll

non è che con vb net 2002 questo provider non funge correttamente e devo utilizzare vb net 2003?

Mi sai dire qualcosa?

Ciao
Fabio

Brainkiller Profilo | Guru

Mh, che io sappia dovrebbe anche funzionare con VS.NET 2002.
Più che un problema di VS è un problema eventualmente della diversa versione di Framework 1.0 o 1.1 comunque dovrebbe funzionare.
Che query hai passato ?

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