DB2 para iSeries con Microsoft ADO .NET
ADMIN ADMIN   18 Enero 2007
redbooks.jpg
Este enlace te lleva al Redbook de IBM donde explica la integración de DB2 y ADO.NET.
Esto es solo una pequeña guia de la puesta a punto.
Desde aqui quiero agradecer a Salomé y a Pablo su esfuerzo en crear este documento (es obra suya) para poder compartirlo con los colegas de este magnifico servidor que es el iSeries.

Pasos Iniciales:
Instalar Visual Studio 2005
Instalar IBM iSeries Access para Windows (5.3 o superior). Debemos instalar la versión completa marcando la opción de enlace de datos ADO .NET.
Si se instala primero el iSeries Access para Windows antes que el Visual Studio la opción de enlace de datos ADO .NET no nos deja seleccionarla.
Dentro del Visual Studio hay que añadir una referencia nueva en la solapa .NET seleccionamos:
IBM DB2 UDB for iSeries .NET Provider
En el proyecto donde queramos usar esta conexión hay que añadir el espacio de nombres:
using IBM.Data.DB2.iSeries;



ADO .NET Conectado
Pasos a seguir:
Provider:
string provider = “DataSource=xxx.xxx.xxx.xxx;” + “userid=usuario;password=contraseña”;
xxx.xxx.xxx.xxx= nº IP

Conexión:
iDB2Connection cnn = new iDB2Connection(provider);
Sentencia SQL:
string sentencia = “select * from biblioteca.fichero”;
Objeto contenedor de comandos:
iDB2Command cmd = new iDB2Command(sentencia, cnn);
Declaramos el objeto contenedor del resultado de ejecutar la sentencia:
iDB2DataReader drDB2;
Abrimos la conexión:
cnn.Open();
Creamos el objeto que va a contener el resultado de la sentencia SQL y cargamos los datos:
drDB2 = cmd.ExecuteReader();
Leemos los registros cargados:
while (drDB2.Read())
{
}
drDB2.Close();
cnn.Close();

ADO .NET Desconectado  
Provider:
string provider = “DataSource=xxx.xxx.xxx.xxx;” + “userid=usuario;password=contraseña”;
xxx.xxx.xxx.xxx= nº IP

Conexión:
iDB2Connection cnn = new iDB2Connection(provider);
Sentencia SQL:
string sentencia = “select * from biblioteca.fichero”;
Objeto contenedor de comandos:
iDB2Command cmd = new iDB2Command(sentencia, cnn);
Objeto DataAdapter, hace de intermediario entre la base de datos y el DataSet
iDB2DataAdapter aAdapter = new iDB2DataAdapter(cmd);
Creamos el DataSet:
DataSet ds = new DataSet();
Abrimos la conexión y cargamos los datos en el DataSet:
cnn.Open();
aAdapter.Fill(ds);
cnn.Close();

Leemos los registros cargados:
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
ListBox1.Items.Add(ds.Tables[0].Rows[i].[0].ToString());
}
SIDRA400
Entrada