db2sqljbind: vinculador de perfiles SQLJ
db2sqljbind vincula los paquetes de DB2 para un perfil serializado previamente personalizado con el mandato db2sqljcustomize.
Autorización
- Autorización SYSADM
- Autorización DBADM
- Si el paquete no existe, el privilegio BINDADD y uno de los
privilegios siguientes:
- Privilegio CREATEIN
- Autorización PACKADM sobre la colección o sobre todas las colecciones
- Si el paquete existe, el privilegio BIND sobre el paquete
Sintaxis del mandato
Parámetros del mandato
- -help
- Especifica que
db2sqljbinddescribe todas las opciones a las que da soporte. Si se especifica cualquier otra opción con -help, no se tiene en cuenta. - -url
- Especifica el URL del servidor de datos al que se vinculará
el perfil. URL : puede ser un URL para IBM Data Server Driver for JDBC and SQLJ tipo 4 o IBM Data Server Driver for JDBC and SQLJ tipo 2. Las partes variables del valor
-urlson:- server
- Nombre de dominio o dirección IP del sistema operativo donde reside el servidor de bases de datos.
- port
- El número de puerto del servidor TCP/IP que está asignado al servidor de bases de datos. El valor predeterminado es 446.
- database
- Nombre del servidor de bases de datos para el que se va a personalizar el
perfil.Si la conexión es con un Db2 for z/OS® servidor, la base de datos es el Db2 nombre de ubicación que se define durante la instalación. Todos los caracteres de este valor deben ser caracteres en mayúsculas. Puede determinar el nombre de ubicación ejecutando la sentencia de SQL siguiente en el servidor:
SELECT CURRENT SERVER FROM SYSIBM.SYSDUMMY1;Si la conexión es a un servidor de sistemas UNIX, Windows y Db2 en Linux®, la base de datos es el nombre de la base de datos que se define durante la instalación.
Si la conexión es a un servidor IBM Cloudscape, la base de datos es el nombre completo del archivo que contiene la base de datos. Este nombre debe estar entre comillas dobles ("). Por ejemplo:"c:/databases/testdb" - property=value;
- Propiedad de la conexión JDBC.
- -datasource JNDI-name
- Especifica el nombre lógico de un objeto DataSource que se registró con JNDI. El objeto DataSource representa la fuente de datos para la que se va personalizar el perfil. Se establece una conexión con la fuente de datos si la opción -automaticbind o -onlinecheck se especifica como YES o toma de por omisión el valor YES. La especificación de -datasource es una alternativa a especificar -url. El objeto DataSource debe representar una conexión que utilice conectividad de tipo 4 IBM Data Server Driver for JDBC and SQLJ.
- -user user-ID
- Especifica el ID de usuario que se utilizará para conectarse con la fuente de datos para vincular el paquete.
- -password password
- Especifica la contraseña que se utilizará para conectarse con la fuente de datos para vincular el paquete.
- -bindoptions options-string
- Especifica una lista de opciones separadas por espacios. Estas opciones tienen la misma función que las opciones de precompilación y enlace de DB2 con los mismos nombres. Si está preparando su programa para ejecutarlo en un Db2 for z/OS sistema, especifique las opciones de z/OS. Si está preparando su programa para ejecutarlo en un sistema Db2 en sistemas Linux, UNIX y Windows, especifique las opciones de Db2 en sistemas Linux, UNIX y Windows.Notas sobre las opciones de encuadernación:
- Especifique VERSION solamente si se cumplen las condiciones siguientes son:
- Si está vinculando un paquete en un sistema UNIX, Windows o Db2 en Linux, el sistema es de la versión 8 o posterior.
- Ha vuelto a ejecutar el conversor en un programa antes de vincular el paquete asociado con un valor VERSION nuevo.
Importante: especifique solamente las opciones de preparación del programa que sean adecuadas para la fuente de datos en que se está vinculando el paquete. Algunos valores y valores predeterminados para el IBM Data Server Driver for JDBC and SQLJ son diferentes de los valores y valores predeterminados de Db2.
- Especifique VERSION solamente si se cumplen las condiciones siguientes son:
- -staticpositioned NO|YES
- Para los iteradores declarados en el mismo archivo fuente que las sentencias UPDATE de posición que utilizan los iteradores, especifica si las sentencias UPDATE de posición se ejecutarán como sentencias vinculadas estáticamente. El valor predeterminado es NO. NO significa que los UPDATE posicionados se ejecutan como sentencias preparadas dinámicamente. Este valor debe ser igual que el valor -staticpositioned de la invocación db2sqljcustomize anterior del perfil serializado.
- -genDBRM
- Especifica que db2sqljbind genera módulos de petición de base de datos (DBRM) a partir de un perfil serializado y que db2sqljbind no realiza operaciones de vinculación remotas.
-genDBRM se aplica a los programas que se ejecutarán en Db2 for z/OS servidores de bases de datos únicamente.
- -DBRMDir directory-name
- Cuando se especifica -genDBRM, -DBRMDir especifica el directorio local en el que
db2sqljbind coloca los archivos DBRM generados. El valor por omisión es el directorio
activo.
-DBRMdir se aplica a programas que se ejecutarán en Db2 for z/OS servidores de bases de datos únicamente.
- -tracefile file-name
- Habilita el rastreo e identifica el archivo de salida para la información de rastreo. Esta opción debe especificarse únicamente bajo la dirección del Soporte de Software de IBM.
- -tracelevel
- Si se especifica -tracefile, indica lo que se desea rastrear durante la ejecución de
db2sqljcustomize. El valor por omisión es TRACE_SQLJ. Esta opción debe especificarse únicamente bajo la dirección del Soporte de Software de IBM. - serialized-profile-name|file-name.grp
- Especifica los nombres de uno o varios perfiles serializados
desde los que se ha vinculado el paquete. Un nombre de perfil
serializado tiene el formato siguiente:
program-name es el nombre del programa fuente SQLJ, sin la extensión.sqlj. n es un número entero entre 0 y e m-1, donde e m es el número de perfiles serializados que el traductor SQLJ generó a partir del programa fuente SQLJ.program-name_SJProfileIDNumber.serPuede especificar nombres de perfiles serializados de una de las maneras siguientes:- Liste los nombres en el mandato db2sqljcustomize. Si desea especificar varios nombres de perfiles serializados deben estar separados por espacios.
- Especifique los nombres de perfiles serializados, uno en cada línea, en un archivo con el nombre nombre-archivo.grp y especifique nombre-archivo.grp en el mandato db2sqljbind.
Si especifica más de un nombre de perfil serializado para vincular un paquete de DB2desde varios perfiles serializados, debe haber especificado los mismos nombres de perfil serializado, en el mismo orden, cuando ha ejecutado db2sqljcustomize.
Si especifica uno o varios archivos nombre-archivo.grp, debe haber ejecutado db2sqljcustomize una vez con esa misma lista de archivos. El orden en el que se especifican los archivos en db2sqljbind debe ser igual que el orden en db2sqljcustomize.
No se puede ejecutar db2sqljcustomize en archivos individuales y agrupar estos archivos al ejecutar db2sqljbind.
ejemplos
db2sqljbind -user richler -password mordecai
-url jdbc:db2:⁄⁄server:50000⁄sample -bindoptions "EXPLAIN YES"
pgmname_SJProfile0.ser Notas de uso
Nombres de paquetes generados por
db2sqljbind: los nombres de los paquetes creados por
db2sqljbind son los nombres especificados utilizando los
parámetros -rootpkgname o -singlepkgname al ejecutar
db2sqljcustomize. Si no se especificó -rootpkgname o
-singlepkgname, los nombres de paquetes son los primeros siete bytes
del nombre del perfil, a los que se añade el carácter de nivel de
aislamiento.
Valor DYNAMICRULES para
db2sqljbind: La opción de vinculación DYNAMICRULES
determina varios atributos de ejecución para el paquete
DB2. Dos de esos atributos son el ID de autorización que se utiliza para
comprobar la autorización y el calificador que se utiliza para los
objetos no calificados. Para asegurar la autorización correcta
para sentencias UPDATE y DELETE de posición ejecutadas
dinámicamente en programas SQLJ, db2sqljbind
siempre vincula paquetes
DB2 mediante la opción DYNAMICRULES(BIND). No se puede
modificar esta opción. La opción DYNAMICRULES(BIND) hace que la instrucción SET CURRENT SQLID no tenga ningún impacto en un programa SQLJ, porque esas instrucciones afectan solo a las instrucciones dinámicas que están vinculadas con valores DYNAMICRULES distintos de BIND.
- Haga que las sentencias UPDATE y DELETE de posición se ejecuten estáticamente. Para ello, se puede utilizar la opción -staticpositioned YES de db2sqljcustomize o db2sqljbind si el cursor (iterador) de una sentencia UPDATE o DELETE de posición está en el mismo paquete que la sentencia UPDATE o DELETE de posición.
- Calificar completamente Db2 ƒ nombres de tablas en sentencias UPDATE y DELETE posicionadas.
Comportamiento de la opción de vinculación EXTENDEDINDICATOR: Si la opción de vinculación EXTENDEDINDICATOR no se especifica en la serie de opciones -bindoptions y el servidor de datos de destino soporta los indicadores ampliados, las operaciones de vinculación utilizan EXTENDEDINDICATOR(YES). Si se especifica explícitamente EXTENDEDINDICATOR(NO) y la aplicación contiene sintaxis de indicador extendido, puede producirse un comportamiento inesperado porque el IBM Data Server Driver for JDBC and SQLJ trata los indicadores extendidos como valores NULL.
