Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177

    [VB.NET] connessione ad un db MySQL

    Tra i vari esperimenti che sto tentando c'è anche la connessione ad un db MySQL (www.mysql.org)...

    Dopo avere installato un dbserver di MySQL e configurato un profilo ODBC pensavo ci si potesse connettere invece c'è bisogno di un driver specifico (MySQLDriverCS) scaricabile sia dal sito di MySQL che da www.sourceforge.net

    Ho scaricatio e installato questi driver e sono subito andato a provare... Nella guida html allegata (leggibile anche da dentro VB.net) ho letto

    Public Class MySQLCommand
    Implements IDbCommand, IDisposable
    *END class

    *l'ho aggiunto io

    su IDbCommand mi da il seguente errore
    << 'prova1.MySQlCommand' must implement 'Overridable Overloads Sub Prepare()' for the interface 'System.Data.IDbCommand' >>
    e su IDisposable l'errore:
    << 'prova1.MySQlCommand' must implement 'Overridable Overloads Sub Prepare()' for the interface 'System.IDisposable' >>


    evidentemente non essendo pratico di VB non ho dichiarato o importato qualcosa...

    Ma Cosa?

    Grazie per la pazienza
    Ciao!
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

  2. #2
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177
    non ho detto che questi dirver sono stati scritti in C# e che io ho installata sul portatile (per poca capienza) solo il VB.net

    (forse non centra ma non riesco ad aprire gli esempi di codice allegati...)
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

  3. #3
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    ti serve un driver odbc

    questo che ti poso è un poì' di sorgente
    [code]

    Dim sConn As String = "Driver=MySQL ODBC 3.51 Driver; Server=localhost;Database=database
    ce;dsn=dsn;uid=amodio;password=amodio;"
    Dim SQL As String = "SELECT id, categoria FROM categoria"
    Dim objConn As New OdbcConnection(sConn)
    Dim objCommand As New OdbcCommand(SQL, objConn)
    Dim objreader As OdbcDataReader
    'Dim objdataset As New DataSet()
    'Dim objdataadapter As New OdbcDataAdapter(sSQL, objConn)
    Try

    [/ode]

    devi prenderti l'ultima versine in quanto supporta mysql
    se usi semplicemente ado.net lui emula il driver quindi nn hai le stesse performance

    claro?

  4. #4
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177

    Re: ti serve un driver odbc

    Originariamente inviato da amodio

    devi prenderti l'ultima versine in quanto supporta mysql
    se usi semplicemente ado.net lui emula il driver quindi nn hai le stesse performance

    claro?
    :master: l'ultima versione di che?
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

  5. #5
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    odbc 3.51

    io uso questo e nn mi ha dato mai problemi
    ti ho cancghe passato alcune righe di codice!

    per farti capire la semplicita'

    se vuoi usare i driver mysql per allacciarti a lui beh io
    li avevo provati ma ho lasciato subito perdere
    certo servcono a creare il dsn
    ma poi uso odbc per fare il resto

  6. #6
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177
    seguendo i tuoi consigli sono arrivato a questo:
    codice:
    Dim sConn As String = "Driver=MySQL ODBC 3.51 Driver; Server=localhost; Database=rms; dsn=prova; uid=prova ; password=;"
            Dim SQL As String = "select * from az;"
            Dim objConn As New Microsoft.Data.Odbc.OdbcConnection() '   OdbcConnection(sConn)
            Dim objCommand As New Microsoft.Data.Odbc.OdbcCommand(SQL, objConn)
            Dim objreader As Microsoft.Data.Odbc.OdbcDataReader
            Dim objdataset As New DataSet()
            Dim objdataadapter As New Microsoft.Data.Odbc.OdbcDataAdapter(SQL, objConn)
            Dim ls_err As String
    
            
            Try
                ' apro la connessione
                objConn.Open()
            Catch err As Microsoft.Data.Odbc.OdbcException
                MessageBox.Show(err.Message)
            End Try
            If objConn.State = ConnectionState.Open Then
                ' preparo il dataset
                Try
                    ' faccio la query
                    objdataadapter.SelectCommand.CommandText = "use prova;"
                    objdataadapter.SelectCommand.ExecuteNonQuery()
                    objdataadapter.SelectCommand.CommandText = SQL
                    objdataadapter.SelectCommand.ExecuteNonQuery()
                Catch err As Microsoft.Data.Odbc.OdbcException
                    MessageBox.Show(err.Message)
                    ls_err = err.ToString
                End Try
             end if
    l'errore che becco sul secondo try è

    "Microsoft.Data.Odbc.OdbcException: ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-4.1.0-alpha-max-nt]Access denied for user: '@127.0.0.1' to database 'prova'"

    eppure ho messo l'user sia sul profilo odbc che nella string di connessione...

    cosa manca ancora?:master:

    Ciao e grazie
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

  7. #7
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    tu hai questa stringa di connessione-->Dim sConn As String = "Driver=MySQL ODBC 3.51 Driver; Server=localhost; Database=rms; dsn=prova; uid=prova ; password=;"

    possibile che ti da errore su database prova , quando gli specifici che il database è "rms"
    sicuro nn ti sei sbagliato a scrivere?

  8. #8
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177
    codice:
    Dim sConn As String = "Driver=MySQL ODBC 3.51 Driver; Server=localhost; Database=prova; dsn=prova; uid=root ; password=;"
            Dim SQL As String = "select * from az;"
            Dim objConn As New Microsoft.Data.Odbc.OdbcConnection() '   OdbcConnection(sConn)
            Dim objCommand As New Microsoft.Data.Odbc.OdbcCommand(SQL, objConn)
            Dim objreader As Microsoft.Data.Odbc.OdbcDataReader
            Dim objdataset As New DataSet()
            Dim objdataadapter As New Microsoft.Data.Odbc.OdbcDataAdapter(SQL, objConn)
            Dim ls_err As String
    
            
            Try
                ' apro la connessione
                objConn.Open()
            Catch err As Microsoft.Data.Odbc.OdbcException
                MessageBox.Show(err.Message)
            End Try
            If objConn.State = ConnectionState.Open Then
                ' preparo il dataset
                Try
                    ' faccio la query
                    objdataadapter.SelectCommand.CommandText = "use prova;"
                    objdataadapter.SelectCommand.ExecuteNonQuery()
                    objdataadapter.SelectCommand.CommandText = SQL
                    objdataadapter.SelectCommand.ExecuteNonQuery()
                Catch err As Microsoft.Data.Odbc.OdbcException
                    MessageBox.Show(err.Message)
                End Try
             end if
    in effetti rms è il datadase originale e prova è quello che sto utilizzando per le prove, ho fatto un errore su quella stringa ma in esecuzione ho indicato il db e l'user giusti
    e l'errore è sempre lo stesso...

    :master: grazie per la tua pazienza
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

  9. #9
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    nn devi usare executenonquyery

    codice:
    Dim objreader As OdbcDataReader 'Consente di iterare nel recorset 
    'Dim objdataset As New DataSet() 
    'Dim objdataadapter As New OdbcDataAdapter(sSQL, objConn) 
    Try 
    
    objConn.Open() 
    Catch eccezione As System.Exception 
    Windows.Forms.MessageBox.Show(eccezione.Message) 
    End Try 
    
    If objConn.State = ConnectionState.Open Then 
    objreader = objCommand.ExecuteReader
    guarda queto pezzo di codice
    a parte che io uso un objreader cmq quando vado ad eseguire uan select nn uso executenonquery (xche viene solo utilizzata per eseguire update o insert e delete)

    scusa se nn sono molto dettagliato ma vb.net lo ho nell'altra partitione e dovrei riavviare per vedere quale è il comando giusto

  10. #10
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177
    continuando a fare prove ho capito che la stringa di connessione la usa solo per trovare un driver ODBC, puoi con executenon query è come usare la shell di mysql; solo che non riesco a loggarmi in nessun modo e se non mi loggo non sono autorizzato a nessuna operazione...
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.