Showing posts with label DB2. Show all posts
Showing posts with label DB2. Show all posts

Saturday, October 6, 2007

DB2: Dataset tipizzati

. Saturday, October 6, 2007
0 commenti

Sul plugin DB2 abbiamo discusso qui e qui, questa volta invece vedremo come generare Dataset tipizzati utilizzando le stored procedures.
I Dataset tipizzati sono entità logiche derivate dalla classe Dataset create attraverso il designer di Visual Studio.
Quando si genera un Dataset tipizzato viene creato un file schema XML  all'interno della directory App_Code.
A run-time il Framework si occupa di recuperare queste informazioni contenute nello schema e di generare le varie classi.
A questo punto possiamo generare una stored procedures:

Per generare un Dataset tipizzato da VS 2005 basta scegliere l'opzione Add new item e selezionare la voce DataSet:

Dopo aver aggiunto il Dataset compare il wizard TableAdapter, quest'ultimo è un contenitore di oggetti DataTable, nel caso specifico useremo la stored procedure creata precedemente:


Alla fine del wizard l'IDE mostra attravero l'oggetto TableAdapter la struttura della tabella, indicando informazioni sulle colonne, sulle chiavi, eventuali relazioni ecc:

Il codice per usare queste entità è estremamente semplice:

Public Function GetDb(ByVal valueNome As String) As DsTest.PROCEDURADSDataTable
Dim dt As DsTest.PROCEDURADSDataTable = New DsTest.PROCEDURADSDataTable()
Try
Dim da As DsTestTableAdapters.PROCEDURADSTableAdapter = New DsTestTableAdapters.PROCEDURADSTableAdapter()
dt
= da.GetData(valueNome)
Catch ex As Exception
'Log error
End Try
Return dt
End Function

Di contro però, i Dataset tipizzati non sono adatti per gestire grosse quantità di dati poichè si ha un notevole calo di prestazioni.

Read More »»

Tuesday, September 25, 2007

DB2: Debugging stored procedures

. Tuesday, September 25, 2007
0 commenti

Dopo il precedente post ho notato che è possibile tramite il wizard Aggiungi nuova procedura SQL con Designer attivare il debug su stored procedure:

Dopo aver attivato la modalità si può lanciare la stored procedure direttamente dal wizard:

Nel caso specifico accetta un parametro di tipo VarChar:

adesso si può procedere con F10 e Watch per controllare il contenuto di una determinata variabile:

Read More »»

Saturday, September 22, 2007

DB2.NET Provider. Primi Passi

. Saturday, September 22, 2007
0 commenti

Ultimamente sto lavorando su un'applicazione web la cui base dati è rappresentata da DB2 v.8.1 su mainframe e la comunicazione avviene attraverso uno strato creato ad hoc.
Ho voluto però eseguire qualche esperimento con il data provider messo a disposizione per i sistemi di database DB2.
La virtual machine su cui ho effetuato i miei test è composta:
1)Windows XP Professional con SP2,
2)Framework 2.0,
3)Visual Studio 2005,
4)DB2 Server v.9.1 e DB2 Client che presenta tutta una serie di tool visuali per poter interagire con tabelle, stored procedures, indici, trigger, ecc ed inoltre comprende l'add-in per VS 2005.
Una volta installato il tutto si può far partire il Centro di controllo:

ed attraverso il wizard apposito ho creato la tabella TableTestDB2:

Il codice per recuperare tutti i record presenti in questa tabella:

Imports System.Data
Imports IBM.Data.DB2
.....
Public Function GetAllDati() As DataTable
Dim dt As DataTable = New DataTable
Dim con As DB2Connection
Try
con
= New DB2Connection()
con.ConnectionString
= "Database=DBPROVA;UID=username;PWD=password"
Dim command As DB2Command = New DB2Command("SELECT * FROM DB2.TABLETESTDB2", con)
Dim db2Da As DB2DataAdapter = New DB2DataAdapter(command)
db2Da.Fill(dt)
Catch ex As Exception
Throw ex
Finally
If Not (con Is System.DBNull.Value) Then
con.Close()
End If
End Try
Return dt
End Function
E per quanto riguarda l'uso delle stored procedures?
Il data provider ci permette da Visual Studio 2005 di collegarci al server DB2:

una volta eseguita la connessione, sotto la voce Procedure possiamo utilizzare il wizard Aggiungi nuova procedura
SQL con Designer
per generare stored procedures:

Il codice per richiamare una stored procedure:
Public Function GetFilter(ByVal valueParameter As String) As DataTable
Dim dt As DataTable = New DataTable
Dim con As DB2Connection
Try
con
= New DB2Connection()
con.ConnectionString
= "Database=DBPROVA;UID=username;PWD=password"
Dim command As DB2Command = New DB2Command("DB2.PROCEDURATEST", con)
command.CommandType = CommandType.StoredProcedure
'Definizione del parametro
Dim parameterDB2 As DB2Parameter = New DB2Parameter
parameterDB2.ParameterName
= "DESCRIZIONEVALUE"
parameterDB2.DbType
= DbType.String
parameterDB2.Value
= valueParameter
command.Parameters.Add(parameterDB2)
Dim db2Da As DB2DataAdapter = New DB2DataAdapter(command)
db2Da.Fill(dt)
Catch ex As Exception
Throw ex
Finally
If Not (con Is System.DBNull.Value) Then
con.Close()
End If
End Try

Return dt
End Function

Il metodo GetFilter esegue la stored procedure DB2.PROCEDURATEST che prende in input il parametro DescrizioneValue per filtrare sul campo Descrizione della tabella TableTestDB2.

Read More »»