""

Cómo configurar la conectividad de SQL Server para WebI desde SAP BusinessObjects BI4. 0 en Linux

Hoy en día hemos notado que algunos de nuestros clientes están siguiendo la tendencia de los productos de código abierto. De hecho, Linux es una gran opción de sistema operativo debido a que es totalmente compatible con SAP BusinessObjects BI 4 y también ayuda a las empresas a reducir costos. Sin embargo, Linux ha conservado la forma en que funciona el clásico sistema operativo Unix y por lo tanto todo se trata de derechos y comandos por lotes. Por lo tanto, un conocimiento técnico Linux avanzado es obligatorio antes de entrar en él.

El propósito de esta entrada de blog es compartir los problemas que enfrentamos en uno de nuestros clientes que ejecutan SAP BusinessObjects BI4 SP4 en una versión de Red Hat Enterprise Linux Server 6.3 usando MySQL 5.1. 61 como base de datos del sistema y cómo Los resolvió.

El problema salió cuando justo después de una migración de la base de datos de producción (un nuevo SQL Server 2008) todos sus documentos WebI dejaron de ejecutarse desde el Launchpad de SAP BI4 con un error inusual "Error de base de datos. WebI única para ejecutar y el negocio de todo el núcleo se puso en peligro. Rich Client no tuvo ningún problema en Windows. Después del primer análisis, descubrimos que la instalación predeterminada del controlador ODBC de SQL Server era Configurado correctamente para conexiones de 2 bits en el servidor Linux mientras que WebI requiere conectividad de controlador ODBC de 3 bits para ejecutarse en el Launchpad de SAP BI4.

Cuando llegó a este punto tuvimos que aplicar un par de notas OSS. El primero fue OSS 1607125 "Cómo configurar la conectividad de SQL Server para WebI desde un entorno BI4. 0 unix" . La resolución es:

1. Abrir env.sh bajo <install directory> / Sap_bobj / setup /

2. Busque la línea siguiente

$ LIBRIR: $ LIBDIR32: $ WCSCOMPONENTDIR: $ PLUGINDIST / auth / secEnterprise: $ {CRPEPATH64}: $ {CRPEPATH}: $ {MWHOME}: $ PLUGINDIST / desktop / CrystalEnterprise.Report: $ {BOBJEDIR} enterprise_xi40 / $ SOFTWAREPATH32 / ras: $ {BOBJEDIR} mysql / lib "

3. Modifique la línea anterior agregando lo siguiente

": $ {BOBJEDIR} enterprise_xi40 / linux_x64 / odbc / lib: $ {BOBJEDIR} enterprise_xi40 / $ SOFTWAREPATH32 / odbc / lib"

La línea debería verse así

$ LIBRIR: $ LIBDIR32: $ WCSCOMPONENTDIR: $ PLUGINDIST / auth / secEnterprise: $ {CRPEPATH64}: $ {CRPEPATH}: $ {MWHOME}: $ PLUGINDIST / desktop / CrystalEnterprise.Report: $ {BOBJEDIR} enterprise_xi40 / $ SOFTWAREPATH32 / ras: $ {BOBJEDIR} mysql / lib: $ {BOBJEDIR} enterprise_xi40 / linux_x64 / Odbc / lib: $ {BOBJEDIR} enterprise_xi40 / $ SOFTWAREPATH32 / odbc / lib "

4. Navegar a <install directory> Sap_bobjenterprise_Xi40

5. Abra el archivo odbc.ini utilizando vi u otras herramientas del editor de texto.

6. Busque la entrada para Sql Server DSN. La entrada DSN predeterminada en odbc.ini se denomina "[SQL Server Native Wire Protocol]", pero se recomienda crear su propia entrada DSN utilizando los mismos parámetros especificados en el DSN predeterminado.

7. Actualizar la sección "Controlador" del DSN para que apunte a 64 versión de bits de los controladores ODBC de SQL Server

Driver = < directorio de instalación > / Sap_bobj / enterprise_xi40 / linux_x64 /odbc/lib/CRsqls24.so

8. Reinicie el SIA

Sin embargo, el problema no se resolvió por completo. Recibimos un error nuevo con la siguiente descripción cada vez que intentamos ejecutar un WebI "Recibir el error: Error de base de datos: [DataDirect] [ODBC lib] No se encontró el archivo de información del sistema .. Compruebe la variable de entorno ODBCINI. 10901) (WIS 10901) " . Se trata de un problema de configuración del sistema operativo Linux con la variable de entorno ODBCINI . Asegúrese de que las variables de entorno estén correctamente configuradas de acuerdo con la nota OSS 1291142 - "Informes de Web Intelligence utilizando controladores DataDirect en Unix" (a partir de hoy todavía se aplica a BI4). La resolución es:

1. En el perfil Unix del usuario Bobje, agregue / modifique las siguientes variables de entorno y genere el perfil

BOBJEDIR = </ bobje export BOBJEDIR ODBC_HOME = $ BOBJEDIR / enterprise120 / <PLATFORM> / odbc export ODBC_HOME ODBCINI = $ BOBJEDIR / odbc.ini exportación ODBCINI LD_LIBRARY_PATH = $ BOBJEDIR / enterprise120 / <PLATFORM> / dataAccess / RDBMS / connectionServer: $ ODBC_HOME / lib: $ BOBJEDIR / enterprise120 / <PLATFORM> /: $ LD_LIBRARY_PATH exportar LD_LIBRARY_PATH

NOTA: Reemplace <PLATFORM> con linux_x86, solaris_sparc, aix_rs6000, hpux_pa-risc, dependiendo de su plataforma específica de Linux. NOTA: Debe establecer / exportar las variables env anteriores en el mismo orden que se muestra.

Asegúrese de utilizar el archivo $ HOME / .odbc.ini como su fuente predeterminada para la configuración de ODBC. Por lo tanto, modifique la variable ODBCINI de la siguiente manera:

ODBCINI = $ HOME / .odbc.ini exportación ODBCINI

2. Modifique el odbc.ini para agregar el DSN

                  [TestDSN] Controlador = <INSTALL_PATH> / enterprise120 / <PLATFORM> /odbc/lib/CRmsss23.so Descripción = DataDirect 5.3 Dirección del controlador de protocolo de cable de SQLServer = <sql_server host or ip> , <PORT> Base de datos = <DB_NAME> QuotedId = Yes AnsiNPW = No

NOTA: Su nombre DSN (TestDSN) debe ser el mismo nombre DSN que utilizó al crear la conexión ODBC en Windows

3. DataDirect proporciona tanto controladores OEM como OEM

Los controladores proporcionados por BI4 son controladores OEM. Básicamente, el WebI depende del ConnectionServer. De forma predeterminada, ConnectionServer está configurado para utilizar controladores NO OEM. Por lo tanto, hemos editado el servidor de conexión para permitir el uso de la marca OEM DD controlador. Los pasos son:

  • Haga una copia de seguridad de $ BOBJEDIR / enterprise120 / <PLATFORM> /dataAccess/RDBMS/connectionServer/odbc/odbc.sbo
  • Abra odbc.sbo con VI, busque DataDirect, hay 4 entradas una para cada servidor MSSQL que apoyamos.
  • Cambiar todo 4 de No a Sí <Parameter Name="Use DataDirect OEM Driver" Platform="Unix"> Sí </>

 4. Detenga todos los servidores XI

Ejecute ./stopservers, salga completamente de su shell unix y vuelva a iniciar sesión (para asegurarse de que se han configurado nuevas variables de entorno), vuelva a iniciar todos los servidores BI4.

Después de aplicar la nota de OSS, pudimos recuperar datos de SQL Server 2008 actualizando nuestros documentos WebI, sin embargo, notamos que la CPU estaba alcanzando 100% cada vez que usábamos un WebI de alguna manera. Al pasar por los archivos de registro encontramos errores como "MS SQL Server 2008 | JobId: 61340512 | EXIT SQLGetDiagRec con código de retorno - 1 (SQL_ERROR)" .

Hemos echado un vistazo a la odbc.ini Archivo y nos enteramos de que QWESD entrada que no era inicialmente de alguna manera apareció. Mientras estábamos copiando la información de un origen de datos existente no lo necesitábamos todo y decidimos quitar el QEWSD = Desde el archivo ini.

Finalmente comprueba que Sí <> Ubicado en sqlsrv.sbo Archivo en / opt / bi40 / sap_bobj / enterprise_xi40 / dataAccess / connectionServer / odbc está establecido en Sí.

Esperamos que nuestra experiencia sea un enfoque rápido de solución de problemas para usted. Si tiene algún consejo o sugerencia para mejorar este artículo, por favor deje un comentario a continuación.

EspañolEnglish