Acceso AS/400 (IBM iSeries) desde .NET
Publicado por Carles (4 intervenciones) el 05/05/2009 16:50:17
Saludos foro,
Desde hace un tiempo que trabajo con AS/400, sobre todo en las estaciones clientes que usan Visual RPG de ASNA. Para algunas tareas necesito usar .NET, concretamente Visual Basic 2008 Express con SP1, constato que el rendimiento de una select sencilla vía ODBC desde .NET no puede compararse a un chain hecho desde Visual RPG.
La forma de conectar que estoy usando desde Vb es:
Uso el string de conexión que encontré aquí: http://www.connectionstrings.com/as-400#21
odbcConnection = New Odbc.OdbcConnection("Driver={Client Access ODBC Driver (32-bit)};System=X.X.X.X;UID=XXXX;PWD=XXXX;")
odbcConnection.Open()
sSQL = "SELECT miCampo FROM " _
+ strLlibreria.ToUpper() + ".miFicheroFisico"
odbcComando = New Odbc.OdbcCommand(sSQL, odbcConnection)
odbcReader = odbcComando.ExecuteReader()
If odbcReader.HasRows() = True Then
odbcReader.Read()
value = odbcReader.Item("miCampo")
odbcReader.Close()
End If
Evidentemente realizo el open al inicio de la consulta y el close al final, al igual que lo haría con Visual RPG.
Alguién tiene experiencia con el tema y conoce como definir mejor los accesos a AS/400 desde .Net, cualquier aportación sería bien recibida.
Un saludo por adelantado.
Carles
Desde hace un tiempo que trabajo con AS/400, sobre todo en las estaciones clientes que usan Visual RPG de ASNA. Para algunas tareas necesito usar .NET, concretamente Visual Basic 2008 Express con SP1, constato que el rendimiento de una select sencilla vía ODBC desde .NET no puede compararse a un chain hecho desde Visual RPG.
La forma de conectar que estoy usando desde Vb es:
Uso el string de conexión que encontré aquí: http://www.connectionstrings.com/as-400#21
odbcConnection = New Odbc.OdbcConnection("Driver={Client Access ODBC Driver (32-bit)};System=X.X.X.X;UID=XXXX;PWD=XXXX;")
odbcConnection.Open()
sSQL = "SELECT miCampo FROM " _
+ strLlibreria.ToUpper() + ".miFicheroFisico"
odbcComando = New Odbc.OdbcCommand(sSQL, odbcConnection)
odbcReader = odbcComando.ExecuteReader()
If odbcReader.HasRows() = True Then
odbcReader.Read()
value = odbcReader.Item("miCampo")
odbcReader.Close()
End If
Evidentemente realizo el open al inicio de la consulta y el close al final, al igual que lo haría con Visual RPG.
Alguién tiene experiencia con el tema y conoce como definir mejor los accesos a AS/400 desde .Net, cualquier aportación sería bien recibida.
Un saludo por adelantado.
Carles
Valora esta pregunta


0