2010-01-22 65 views
12

Me gustaría probar un procedimiento almacenado de DB2 que se ejecuta en un sistema AS400.Cómo llamar a un procedimiento almacenado en IBM System i Access para Windows GUI Tool

Tengo instalado IBM System i Access para Windows y puedo ejecutar comandos SQL en la base de datos DB2.

Mi pregunta es: ¿Cuál es la sintaxis para ejecutar un procedimiento almacenado que toma un parámetro y devuelve un resultado como un parámetro de salida e imprime el valor en la pantalla?

Solo para aclarar: no estoy preguntando cómo llamar al código de proc. Quiero ejecutar el proceso y ver los resultados en la herramienta de interfaz gráfica de usuario (que es similar al Administrador corporativo de SQL).

Respuesta

7

Lo que desea es posible. Lo he hecho muchas veces. Desafortunadamente, no estoy en la oficina ahora, así que debe ser desde lo más alto de mi cabeza.

  1. sistema de arranque accedo a
  2. Ir a los iconos de iSeries y conectarse a aquel en el que el procedimiento almacenado vive
  3. Ir a los iconos de bases de datos y conectarse a la correcta (usted tiene una local y probablemente uno o más controles remotos)
  4. Solo entonces, verá la opción "ejecutar script SQL" en la parte inferior de su pantalla
  5. Comience esa opción y verá un editor SQL (editor en la parte superior, visor/mensajes en la parte inferior)
  6. Remembe r que ya está conectado al iSeries correcto pero su solicitud JDBC obtendrá el * LIBL del perfil de usuario de su conexión. Por lo tanto, debe conocer el esquema (biblioteca iseries) de su procedimiento almacenado
  7. Escriba "call YOURSCHEMA.YOURSTOREDPROCEDURE (?,?);" y usa el menú o el atajo para ejecutar esa declaración. Tenga en cuenta que, según la configuración de JDBC (consulte el menú), la sintaxis correcta puede ser "/" en lugar de ".". Además, observe que puede reemplazar el primer signo de interrogación con un valor.

En una nota adicional,

  • En iAccess, bajo cualquier esquema verá iconos de las tablas, vistas y así sucesivamente. También está disponible un ícono para procedimientos almacenados. Verás tu SP allí. Usa las opciones para ver la definición y eso. Esta información incluye información detallada sobre los parámetros
  • Si desea verificar eso en su iSeries, use el catálogo del sistema (esto puede hacerse desde el editor SQL también) con "select * from qsys2.sysprocedures where procedure_name (lo siento, no seguro sobre el nombre de esta columna en este momento) = 'YOURSTOREDPROCEDURE'; "

MUY IMPORTANTE: Nunca pude probar el SP con el editor de SQL (STRSQL) en el propio iSeries. Solo el editor iAccess SQL funcionó correctamente.

+0

Gracias - Soy nuevo en DB2, y he estado tratando de resolver esto durante tres semanas. No había pensado en usarlo? (estaba intentando usar declarar variable como lo haría en SQL Server). –

Cuestiones relacionadas