Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Stranezze .net e mysql
venerdì 11 marzo 2005 - 13.34
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
framur
Profilo
| Newbie
34
messaggi | Data Invio:
ven 11 mar 2005 - 13:34
Salve, eccomi di nuovo.
Ho un quesito per chi lavora con .net e mysql tramite MysqlDrivercs.
Ho realizzato un applicativo (si installa tramite setup) che sulla macchina dove risiede il db va benissimo.il problema sorge quando installo il programma sulle altre macchine della rete.
Difatti pur avendo impostato la connection string per puntare al pc che ha il server mysql ("server=http://ip del pc server; ecc...") quando eseguo il programma mi da il seguente errore.
mysqldrivercs error,can't connect to mysql server on "localhost" (16100) ----????
Perchè mi cerca il localhost anche se imposto la cnstring a puntare un'altro pc della rete?
Grazie
nikol84
Profilo
| Junior Member
56
messaggi | Data Invio:
ven 11 mar 2005 - 15:02
Secondo me non drovresti utilizzare il protocollo internet per comunicare con le macchine in rete,anche perchè mysql lavoro con la porta 3306, io utilizzo Mysql connector , lo puoi trovare sul sito mysql.com e mi trovo bene non ho nessun problema con le connessioni. la stringa che utilizzo è la seguente :
connStr = String.Format("server={0};user id={1}; password={2};database=nomedatabase;pooling=fals", "indirizzo del server", "username", "passowrd")
prova a scaricarlo Mysql connector io ho la versione 1.0.3
ciao fammi sapere se hai problemi
framur
Profilo
| Newbie
34
messaggi | Data Invio:
ven 11 mar 2005 - 16:15
dovrei però cambiare quasi tutto il progetto!
Faccio 2 prove,grazie
framur
Profilo
| Newbie
34
messaggi | Data Invio:
ven 11 mar 2005 - 21:22
Scusa di nuovo il disturbo, ti volevo chiedere solo una cosa,ho dato uno sguardo alla documentazione, per utilizzare i parametri debbo sempre utilizzare il il metodo prepare?Questa tecnica a che tu sappia, è utilizzata solo da questo provider?
Ciao e scusa di nuovo
nikol84
Profilo
| Junior Member
56
messaggi | Data Invio:
sab 12 mar 2005 - 09:08
Non ho ben capito cosa intendi comunque ti do alcune notizie iniziali
Per aprire una connessione :
connStr="la stringa che ti ho dato in precedenza con i parametri giusti"
Dim dbconn as mysqlconnection
'se utilizzi un metodo in modalità connessa questa dichiarazione ti conviene farla a livello globale e poi te la passi come parametro dove ti occorre, altrimenti dove devi aprie la connessione dichiari l'oggetto '
dbconn = New MySqlConnection(connStr)'imposta la connessione
dbconn.Open()'apre la connessione al db
Eseguire Operazione :
questa piccola funzione può eseguire modifica,eliminazione,inserimento, nel database l'unica cosa da fare è impostare la stringa sql correttamente.
Public Sub EseguiScrittura(ByVal cn As MySqlConnection, _
ByVal stringa As String)
Dim cmd As New MySqlCommand(strSql, cn)
cmd.ExecuteNonQuery()
cmd.Dispose()
End Sub
Come la documentazione(in inglese) di mysqlconnector c'è nel file.zipè che ti sei scaricato.
Ciao se hai problemi non preoccuparti contattami, fammi sapere
nikol84
Profilo
| Junior Member
56
messaggi | Data Invio:
sab 12 mar 2005 - 09:09
ho commesso alcuni erroi di battitura !!!!!!!!!!!!!!!!!!!!!!!!!
framur
Profilo
| Newbie
34
messaggi | Data Invio:
sab 12 mar 2005 - 10:36
OK, quando si utilizzano query parametriche,prima di assegnare il valore ai parametri impostati, debbo utilizzare sempre e comunque il metodo prepare dell'oggetto command che deve eseguire la query?
Ah, un'altra consulenza,uso un metodo disconnesso,(dataset), mi conviene dichiarare più oggetti connection(1 quando carico i dati ed un'altro quando invio le modificje al db), o crearne un oggetto globale solo per tutta la durata dell'appliazione??
Ciao e grazie.
nikol84
Profilo
| Junior Member
56
messaggi | Data Invio:
sab 12 mar 2005 - 12:59
Secondo me dovresti crearno uno solo aprirlo,eseguire le operazioni ,chiudere la connessione.Se la tua applicazione interagisce "spesso" con il database ti conviene mantenere la connessione aperta,è "dispendioso" aprire e chiudere la connessione.
inoltre l'oggetto command ogni volta lo devi instanziare,eseguire le operazione e eliminarlo.
Spero di essere stato chiaro se hai problemi non preoccuparti richiamami.
Ciao Nicola
P.S. da quando programmi in vb.net
framur
Profilo
| Newbie
34
messaggi | Data Invio:
mar 15 mar 2005 - 17:51
Ciao,programmo da pochi mesi, non sono molto pratico.
Ho un'altra idea da proporti.
Capiterà anche a te di dover aggiornare varie tabelle da un dataset a un database mysql.
io utilizzo il sistema proposto da microsoft(nella msdn) cioè creo query parametriche per gli oggetti command del dataadapter.
Quello che vorrei fare è creare una funzione generica che passate di volta in volta le tabelle del dataset creano gli oggetti command con i paramteri già impostati.
L'unico problema è che quando uso l'istruzione cmd.parameters.add(nome,tipo) in nome ci metto ?nomecampocolonnatabella e in tipo= tipodatodellacolonna.
Però mi da una serie di errori.
Te come fai?
Grazie
nikol84
Profilo
| Junior Member
56
messaggi | Data Invio:
mar 15 mar 2005 - 18:44
Io non utlizzo query parametriche di questo tipo. La mia idea è quella di passare dei parametri ad una procedura, quest'ultima conconcatena una stringa secondo i parametrici dati in input.
Esempio
public sub query(nometabella,campo1,campo2,....,campoN)
If nometabella="tabella1" then
strsql="select * from " & nometabella & " where campokey = "& campo1
elseif
strsql="inserto into "& nometabella & " where id="& campo2 & " and id2=" & campoN
elseif........
..
..
end if
alla fine della struttura if precedente puoi inserire la creazione dell'oggetto command e
gli passo la stringa che hai concatenato.
io utilizzo mysql come database e da la possibilita di eseguire qualsiasi operazione in questo modo.
Sono stati efficaci gli aiuti precedenti?
end sub
framur
Profilo
| Newbie
34
messaggi | Data Invio:
mar 15 mar 2005 - 20:21
Alcuni aiuti sono stati ottimi, passando a connector/net ho risolto l'accesso tramite la rete,ora ho il problema che ti ho citato prima,anche se questa tua ultima idea sembra buona.
Hai qualche sistema per la valutazione del carico di lavoro per vedere se (quando la mia funzionerà) quale delle due ipotesi sia la migliore sotto carico?
Grazie.
Ps:Se vuoi possiamo tenerci in contatto tramite email
nikol84
Profilo
| Junior Member
56
messaggi | Data Invio:
mar 15 mar 2005 - 20:44
Io penso che l'ideal sia utilizzare direttamente istruzioni che interagiscono con il database, non conosco bene il metodo che hai descritto in precedenza quindi nn posso aiutarti!!!
la mia email è : nicolapalumbo@euronetitalia.com
Ciao Nicola di dove sei??
Torna su
Stanze Forum
Elenco Threads
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 !