Notas del release


6.6 Acceso a fuentes de datos Microsoft SQL Server mediante ODBC (capítulo nuevo)

Antes de añadir fuentes de datos de Microsoft SQL Server a un servidor federado DB2, tiene que instalar y configurar el controlador ODBC en el servidor federado. Consulte los procedimientos de instalación de la documentación que viene con el controlador ODBC para obtener detalles específicos sobre cómo instalar el controlador ODBC.

Para configurar el servidor federado para que acceda a datos almacenados en fuentes de datos de Microsoft SQL Server, tiene que:

  1. Instalar y configurar el controlador ODBC en el servidor federado. Consulte los procedimientos de instalación de la documentación que viene con el controlador ODBC para obtener más detalles sobre cómo instalar el controlador ODBC.

    En servidores DB2 para Windows NT:
    Configure un DSN del sistema utilizando el gestor de dispositivos ODBC. En el Administrador de datos ODBC de Windows, especifique el controlador de SQL Server y continúe con el diálogo para añadir un nuevo DSN del sistema. Especifique "Autentificación de SQL Server con ID de inicio de sesión y contraseña proporcionados por el usuario".

    En servidores DB2 para AIX:
    Instale la versión con hebras de las bibliotecas que suministra MERANT, especifique el directorio de la biblioteca MERANT como primera entrada de LIBPATH y configure el archivo .odbc.ini.
  2. Instalar DB2 Relational Connect Versión 7.2. Consulte 6.3.3, Instalación de DB2 Relational Connect.
  3. Añadir fuentes de datos de Microsoft SQL Server al servidor federado.
  4. Especificar las páginas de códigos de Microsoft SQL Server (sólo Windows NT).

Este capítulo trata los pasos 3 y 4.

Las instrucciones de este capítulo se aplican a plataformas Windows NT y AIX. Si hay diferencias específicas para cada plataforma, se indican.

6.6.1 Adición de fuentes de datos Microsoft SQL Server a un servidor federado

Después de instalar el controlador ODBC y DB2 Relational Connect, añada fuentes de datos de Microsoft SQL Server al servidor federado siguiendo los pasos siguientes:

  1. Establezca las variables de entorno (sólo en AIX).
  2. Ejecute el script shell (sólo en AIX).
  3. Opcional: Establezca la variable de entorno DB2_DJ_COMM (sólo en AIX).
  4. Recicle la instancia de DB2 (sólo en AIX).
  5. Cree el reiniciador.
  6. Cree el servidor.
  7. Cree una correlación de usuario.
  8. Cree apodos para las tablas y vistas.
  9. Opcional: Obtenga rastreos de ODBC.

Estos pasos se explican en detalle en las siguientes secciones.

6.6.1.1 Paso 1: Establecer las variables de entorno (sólo en AIX)

Establezca las variables de entorno de la fuente de datos modificando el archivo db2dj.ini y emitiendo el mandato db2set. El archivo db2dj.ini contiene información de configuración para conectar con fuentes de datos de Microsoft SQL Server. El mandato db2set actualiza el registro del perfil de DB2 con sus valores.

En un sistema de bases de datos particionado, puede utilizar un solo archivo db2dj.ini para todos los nodos de una determinada instancia o puede utilizar un archivo db2dj.ini exclusivo para uno o más nodos de una instancia determinada. Un sistema de bases de datos no particionado sólo puede tener un archivo db2dj.ini por instancia.

Para establecer las variables de entorno:

  1. Edite el archivo db2dj.ini situado en $HOME/sqllib/cfg/ y establezca las siguientes variables de entorno:
    ODBCINI=$HOME/.odbc.ini
    DJX_ODBC_LIBRARY_PATH=<vía acceso al controlador Merant>/lib
    DB2ENVLIST=LIBPATH
     
    

Emita el mandato db2set para actualizar el registro de perfiles de DB2 con los cambios. La sintaxis de db2set depende de la estructura del sistema de bases de datos.

Para establecer la vía de acceso a la biblioteca de cliente, emita estos mandatos:

db2set DB2LIBPATH=<vía de acceso a la biblioteca de cliente Merant>
db2set DB2ENVLIST=LIBPATH

6.6.1.2 Paso 2: Ejecutar el script shell (sólo en AIX)

El script shell djxlink.sh enlaza las bibliotecas del cliente con las bibliotecas del reiniciador. Para ejecutar el script shell:

djxlink

6.6.1.3 Paso 3: Opcional: Establecer la variable de entorno DB2_DJ_COMM (sólo en AIX)

Si cree que se tarda demasiado en acceder a la fuente de datos de Microsoft SQL Server, puede mejorar el rendimiento estableciendo la variable de entorno DB2_DJ_COMM para que cargue el reiniciador cuando se inicialice el servidor federado en lugar de cuando intente acceder a la fuente de datos. Establezca la variable de entorno DB2_DJ_COMM de modo que incluya la biblioteca del reiniciador correspondiente al reiniciador especificado en el Paso 5. Por ejemplo:

En servidores DB2 para Windows NT:
db2set DB2_DJ_COMM=djxmssql3.dll

En servidores DB2 para AIX:
db2set DB2_DJ_COMM=libmssql3.a

Asegúrese de que no hay espacios junto al signo igual (=).

Consulte el manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciador.

6.6.1.4 Paso 4: Reciclar la instancia de DB2 (sólo en AIX)

Para asegurarse de que las variables de entorno están definidas en el programa, recicle la instancia de DB2. Cuando recicla la instancia, renueva la instancia de DB2 para que acepte los cambios realizados. Recicle la instancia de DB2 emitiendo los siguientes mandatos:

db2stop
db2start

6.6.1.5 Paso 5: Crear el reiniciador

DB2 Universal Database tiene dos protocolos diferentes, denominados reiniciadores, que puede utilizar para acceder a fuentes de datos de Microsoft SQL Server. Los reiniciadores son mecanismos que utilizan los servidores federados para comunicarse con fuentes de datos y recuperar datos de las mismas. El reiniciador que utilice depende de la plataforma en que se esté ejecutando DB2 Universal Database. Utilice la Tabla 3 como guía para seleccionar el reiniciador adecuado.

Tabla 3. Controladores ODBC
Controlador ODBC Plataforma Nombre del reiniciador
Controlador ODBC 3.0 (o superior) Windows NT DJXMSSQL3
Controlador MERANT DataDirect Connect ODBC 3.6 AIX MSSQLODBC3

Utilice la sentencia CREATE WRAPPER para especificar el reiniciador que se utilizará para acceder a fuentes de datos de Microsoft SQL Server. El siguiente ejemplo muestra una sentencia CREATE WRAPPER:

CREATE WRAPPER DJXMSSQL3 

donde DJXMSSQL3 es el nombre del reiniciador por omisión utilizado en un servidor DB2 para Windows NT (utilizando el controlador ODBC 3.0). Si tiene un servidor DB2 para AIX, especificaría el nombre de reiniciador MSSQLODBC3.

Puede sustituir el nombre de reiniciador por omisión por el nombre que elija. Sin embargo, si lo hace, debe incluir el parámetro LIBRARY y el nombre de la biblioteca del reiniciador correspondiente a la plataforma del servidor federado en la sentencia CREATE WRAPPER. Por ejemplo:

En servidores DB2 para Windows NT:
CREATE WRAPPER nombre_reiniciador LIBRARY 'djxmssql3.dll'

donde nombre_reiniciador es el nombre que desea dar al reiniciador y 'djxmssql3.dll' es el nombre de la biblioteca.

En servidores DB2 para AIX:
CREATE WRAPPER nombre_reiniciador LIBRARY 'libmssql3.a'

donde nombre_reiniciador es el nombre que desea dar al reiniciador y 'libdjxmssql.a' es el nombre de la biblioteca.

Consulte la sentencia CREATE WRAPPER del manual Consulta de SQL de DB2 para obtener más información sobre nombres de bibliotecas de reiniciadores.

6.6.1.6 Paso 6: Crear el servidor

Utilice la sentencia CREATE SERVER para definir cada fuente de datos de Microsoft SQL Server a la que desea conectarse. Por ejemplo:

CREATE SERVER sqlserver TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3
OPTIONS (NODE 'sqlnode', DBNAME 'nombre_basedatos')

donde:

sqlserver
Es un nombre que asigna al servidor de Microsoft SQL Server. Este nombre debe ser exclusivo.

MSSQLSERVER
Es el tipo de fuente de datos cuyo acceso está configurando.

7.0
Es la versión de Microsoft SQL Server a la que está accediendo. DB2 Universal Database da soporte a las versiones 6.5 y 7.0 de Microsoft SQL Server.

DJXMSSQL3
Es el nombre del reiniciador que ha definido en la sentencia CREATE WRAPPER.

'sqlnode'
Es el nombre del DSN del sistema que hace referencia a la versión de Microsoft SQL Server del Microsoft SQL Server al que está accediendo. Este valor es sensible a mayúsculas y minúsculas. DB2 Universal Database da soporte a las versiones 6.5 y 7.0 de Microsoft SQL Server.

Aunque el nombre del nodo (nombre del DSN del sistema) se especifica como opción en la sentencia CREATE SERVER, es necesario para fuentes de datos de Microsoft SQL Server. En Windows, obtenga el DSN de la pestaña DSN del sistema en la herramienta Administrador de datos ODBC de Windows. En AIX, obtenga el DSN del archivo .odbc.ini en el directorio inicial de propietarios de instancias de DB2.

Vea el manual Consulta de SQL de DB2 para informarse acerca de opciones adicionales que puede utilizar con la sentencia CREATE WRAPPER.

'nombre_basedatos'
Es el nombre de la base de datos a la que se está conectando.

Aunque el nombre de la base de datos se especifica como opción en la sentencia CREATE SERVER, es necesario para fuentes de datos de Microsoft SQL Server.

6.6.1.7 Paso 7: Crear una correlación de usuario

Si un ID de usuario o contraseña del servidor federado no coinciden con el ID de usuario o contraseña de una fuente de datos de Microsoft SQL Server, utilice la sentencia CREATE USER MAPPING para correlacionar el ID de usuario local con el ID de usuario y contraseña definidos en la fuente de datos de Microsoft SQL Server; por ejemplo:

CREATE USER MAPPING FOR db2user SERVER nombre_servidor
OPTIONS (REMOTE_AUTHID 'mssqluser', REMOTE_PASSWORD 'day2night')

donde:

db2user
Es el ID de usuario local que está correlacionando con un ID de usuario definido en la fuente de datos de Microsoft SQL Server.

nombre_servidor
Es el nombre del servidor que ha definido en la sentencia CREATE SERVER.

'mssqluser'
Es el ID de inicio de sesión de la fuente de datos de Microsoft SQL Server con que se correlaciona db2user. Este valor es sensible a mayúsculas y minúsculas.

'day2night'
Es la contraseña asociada con 'mssqluser'. Este valor es sensible a mayúsculas y minúsculas.

Consulte el manual Consulta de SQL de DB2 para ver opciones adicionales que puede utilizar con la sentencia CREATE USER MAPPING.

6.6.1.8 Paso 8: Crear apodos para tablas y vistas

Asigne un apodo para cada vista o tabla situada en la fuente de datos de Microsoft SQL Server a la que desea acceder. Utilizará estos apodos cuando consulte la fuente de datos de Microsoft SQL Server. Utilice la sentencia CREATE NICKNAME para asignar un apodo. Los apodos son sensibles a mayúsculas y minúsculas. El siguiente ejemplo muestra una sentencia CREATE NICKNAME:

CREATE NICKNAME mssqlsales FOR nombre_servidor.salesdata.europe

donde:

mssqlsales
Es un apodo exclusivo para la tabla o vista de Microsoft SQL Server.

nombre_servidor.salesdata.europe
Es un identificador de tres partes que sigue este formato:

nombre_servidor_fuente_datos.nombre_esquema_remoto.nombre_tabla_remota

Se recomienda utilizar comillas dobles para las partes nombre_esquema_remoto y nombre_tabla_remota del apodo.

Cuando crea un apodo, DB2 intenta acceder a las tablas de catálogo de fuentes de datos (Microsoft SQL Server las denomina tablas del sistema). Esto prueba la conexión con la fuente de datos. Si la conexión falla, el usuario recibe un mensaje de error.

Repita este paso para todas las tablas y vistas de bases de datos para las que desea crear apodos.

Para obtener más información sobre la sentencia CREATE NICKNAME, consulte el manual Consulta de SQL de DB2. Para obtener más información sobre apodos en general y para verificar las correlaciones de tipos de datos, consulte el manual DB2 Administration Guide.

6.6.1.9 Paso 9: Opcional: Obtener rastreos de ODBC

Si tiene problemas al acceder a la fuente de datos, puede obtener información de rastreo de ODBC para analizar y resolver estos problemas. Para asegurarse de que el rastreo ODBC funciona correctamente, utilice la herramienta de rastreo que suministra ODBC Data Source Administrator. El hecho de activar el rastreo afecta al rendimiento del sistema, por lo tanto debe desactivar el rastreo una vez resueltos los problemas.

6.6.2 Revisión de páginas de códigos de Microsoft SQL Server (sólo Windows NT)

Microsoft SQL Server da soporte a muchas de las opciones comunes de páginas de códigos del Soporte de idiomas nacionales (NLS) soportadas por DB2 UDB. Las fuentes de datos que utilizan el mismo juego de códigos que DB2 no se tienen que convertir. La Tabla 3 lista las páginas de códigos que reciben soporte de DB2 Universal Database y de Microsoft SQL Server.

Tabla 4. Opciones de páginas de códigos de DB2 UDB y de Microsoft SQL Server
Página de códigos Idioma soportado
1252 Juego de caracteres ISO
850 Multilingüe
437 Inglés de EE.UU.
874 Tailandés
932 Japonés
936 Chino (simplificado)
949 Coreano
950 Chino (tradicional)
1250 Europa Central
1251 Cirílico
1253 Griego
1254 Turco
1255 Hebreo
1256 Árabe

Cuando el servidor federado DB2 y Microsoft SQL Server ejecutan distintas páginas de códigos del Soporte de idiomas nacionales (NLS), se deben configurar las fuentes de datos de Microsoft SQL Server para que correspondan con estos equivalentes o bien el código del cliente debe ser capaz de detectar la discrepancia y marcarla como un error o correlacionar los datos utilizando su propia semántica. Si no se encuentra ninguna tabla de conversión entre la página de códigos fuente y la página de códigos de destino, DB2 emite un mensaje de error. Consulte la documentación de Microsoft SQL Server para obtener más información.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]