Vediamo se posso aiutarti cosi.
prima ti scrivo i punti che secondo me sono importanti per migliorare il tuo codice.
1. La classe Db2connection deve essere dichiarata all'interno della classe e non nella Sub connection.
2. per assicurarti che la connessione sia avvenuta con successo puoi usare la proprietà della classe Db2Connection.State che ti indica lo stato attuale della connessione.
Open.
Close.
Broken
ecec...
3. nell'istruzione Try Cath ti consiglio di utilizzare l'eccezzione della classe che stai utilizzando cosi hai modo di controllare l'errore che non ti permette di aprire una connessione oppure di estrapolare dei dati.
Ti posto il codice cosi come lo farei io ipotizzando che sia all'interno di una classe FORM1 spero possa esserti utile.
codice:
Public Class Form1
Dim strConnection as string
Dim con as DB2Connection
Dim cmd as DB2Command
Dim adp as DB2DataAdapter
Dim ds as Dataset
Public Sub Con()
strConnetction = "Server=server_name;DSN=name;UID=xxxx;PWD=yyyyy;"
con = new Db2Connection
con1.connectionstring = strConnection
cmd = new DB2command
cm1.connection = con
Try
con.Open()
''' se vuoi visualizzare lo stato della connessione
msgbox(con.state.tostring)
Catch ex As Db2Exception
'' se vuoi visualizzare l'errore
msgbox(ex.message)
End Try
End Sub
Public Sub Estrai()
Try
adp = new DB2DataAdapter("Select * From USER_LIST ",con)
ds = new Dataset()
adp.fill(ds,"USER_LIST")
'' se nel form hai un datagridview per visualizzare i dati
datagridview1.datasource = ds.Table("USER_LIST")
Catch ex As Db2Exception
'' se vuoi visualizzare l'errore
msgbox(ex.message)
End Try
End Sub
End Class
fammi sapere se funziona.