Buscar en el Blog

miércoles, 4 de diciembre de 2013

Cómo instalar CTools en Pentaho BI Server

En ésta publicación explico el procedimiento para instalar CTools sobre Pentaho BI Server CE en un sistema operativo Windows o Linux.
En Windows.-
  • Como se puede observar el instalador es un ejecutable de Linux. Pero no hay problema, se puede ejecutarlo desde Windows instalando la herramienta Cygwin, en la siguiente publicación explico el procedimiento (Cómo instalar y configurar Cygwin). Asegurarse que se instalen las herramientas wget, unzip
  • Abrir Cygwin Terminal y ubicar el archivo ctools-installer.sh descargado. En esa ubicación ejecutar el comando:
bash ctools-installer.sh -s /cygdrive/c/pentaho/biserver-ce-X.X.X/biserver-ce/pentaho-solutions -w /cygdrive/c/pentaho/biserver-ce-X.X.X/biserver-ce/tomcat/webapps/pentaho

NOTA: en Cygwin las unidades de disco duro se representan como /cygdrive/letraUnidad, por ejemplo para el comando anterior /cygdrive/c/... hace referencia a c:\...

En Linux.-
  • Ubicar el archivo ctools-installer.sh descargado
  • En una consola de comandos ejecutar el siguiente comando:
bash ctools-installer.sh -s /usr/pentaho/biserver-ce-X.X.X/biserver-ce/pentaho-solutions -w /usr/pentaho/biserver-ce-X.X.X/biserver-ce/tomcat/webapps/pentaho

Los argumentos -s y -w indican lo siguiente:

-s   Indica la ruta en dónde se encuentran las soluciones de pentaho (pentaho-solutions) de biserver-ce
-w  Indica la ruta en dónde se encuentra la aplicación web de pentaho


jueves, 7 de febrero de 2013

Cómo resolver problemas de rendimiento de Pentaho Schema Workbench sobre Oracle

Al intentar ejecutar Pentaho Schema Workbench (PSW) y crear una conexión a una base de datos Oracle, sucede que aparentemente el aplicativo se queda congelado. Lo que sucede es que se está trayendo todo el diccionario de los esquemas a los que tiene acceso la conexión.

Para solucionar esto sobre el esquema que queremos conectarnos es útil correr el siguiente script SQL:
CREATE OR REPLACE VIEW ALL_TABLES AS SELECT USER AS OWNER, A.* FROM SYS.USER_TABLES A;
CREATE OR REPLACE VIEW ALL_VIEWS AS SELECT USER AS OWNER, A.* FROM SYS.USER_VIEWS A
WHERE VIEW_NAME NOT IN ('ALL_CONSTRAINTS','ALL_CONS_COLUMNS','ALL_INDEXES','ALL_IND_COLUMNS',
'ALL_OBJECTS','ALL_SYNONYMS','ALL_TABLES','ALL_USERS','ALL_VIEWS','DBA_CONSTRAINTS','DBA_CONS_COLUMNS',
'DBA_INDEXES','DBA_IND_COLUMNS','DBA_OBJECTS','DBA_SYNONYMS','DBA_TABLES','DBA_USERS','DBA_VIEWS');
CREATE OR REPLACE VIEW ALL_CONSTRAINTS AS SELECT A.* FROM SYS.USER_CONSTRAINTS A WHERE CONSTRAINT_TYPE IN ('R','P','U');
CREATE OR REPLACE VIEW ALL_CONS_COLUMNS AS SELECT A.* FROM SYS.USER_CONS_COLUMNS A;
CREATE OR REPLACE VIEW ALL_INDEXES AS SELECT USER AS OWNER, A.* FROM SYS.USER_INDEXES A;
CREATE OR REPLACE VIEW ALL_IND_COLUMNS AS SELECT USER AS INDEX_OWNER, USER AS TABLE_OWNER, A.* FROM SYS.USER_IND_COLUMNS A;
CREATE OR REPLACE VIEW ALL_SYNONYMS AS SELECT USER AS OWNER, A.* FROM USER_SYNONYMS A;
CREATE OR REPLACE VIEW ALL_OBJECTS AS SELECT USER AS OWNER, A.* FROM USER_OBJECTS A;
CREATE OR REPLACE VIEW ALL_USERS AS SELECT * FROM SYS.ALL_USERS A WHERE USERNAME=USER;
CREATE OR REPLACE VIEW DBA_TABLES AS SELECT USER AS OWNER, A.* FROM SYS.USER_TABLES A;
CREATE OR REPLACE VIEW DBA_VIEWS AS SELECT USER AS OWNER, A.* FROM SYS.USER_VIEWS A
WHERE VIEW_NAME NOT IN ('ALL_CONSTRAINTS','ALL_CONS_COLUMNS','ALL_INDEXES','ALL_IND_COLUMNS',
'ALL_OBJECTS','ALL_SYNONYMS','ALL_TABLES','ALL_USERS','ALL_VIEWS','DBA_CONSTRAINTS','DBA_CONS_COLUMNS',
'DBA_INDEXES','DBA_IND_COLUMNS','DBA_OBJECTS','DBA_SYNONYMS','DBA_TABLES','DBA_USERS','DBA_VIEWS');
CREATE OR REPLACE VIEW DBA_CONSTRAINTS AS SELECT A.* FROM SYS.USER_CONSTRAINTS A WHERE CONSTRAINT_TYPE IN ('R','P','U');
CREATE OR REPLACE VIEW DBA_CONS_COLUMNS AS SELECT A.* FROM SYS.USER_CONS_COLUMNS A;
CREATE OR REPLACE VIEW DBA_INDEXES AS SELECT USER AS OWNER, A.* FROM SYS.USER_INDEXES A;
CREATE OR REPLACE VIEW DBA_IND_COLUMNS AS SELECT USER AS INDEX_OWNER, USER AS TABLE_OWNER, A.* FROM SYS.USER_IND_COLUMNS A;
CREATE OR REPLACE VIEW DBA_SYNONYMS AS SELECT USER AS OWNER, A.* FROM USER_SYNONYMS A;
CREATE OR REPLACE VIEW DBA_OBJECTS AS SELECT USER AS OWNER, A.* FROM USER_OBJECTS A;
CREATE OR REPLACE VIEW DBA_USERS AS SELECT * FROM SYS.ALL_USERS A WHERE USERNAME=USER;
CREATE OR REPLACE VIEW ALL_TAB_COLUMNS AS SELECT USER AS OWNER, A.* FROM SYS.USER_TAB_COLUMNS A;


martes, 29 de enero de 2013

Cómo forzar a las herramientas de Pentaho Data Integration para que usen la configuración regional Inglés/Estados Unidos

Para forzar la configuración regional Inglés/Estados Unidos a las herramientas Spoon y Kitchen de Pentaho Data Integration (PDI) se tiene que realizar lo siguiente:

Para Spoon.-

1. Editar el archivo Spoon.bat para Windows
2. Ubicar la línea en dónde se encuentra

set PENTAHO_DI_JAVA_OPTIONS=

3. Agregar lo siguiente a continuación:

"-Duser.language=en" "-Duser.country=US"

El archivo debe quedar como se muestra a continuación:



Para Kitchen.-

Realizar el mismo procedimiento editando el archivo Kitchen.bat

Cómo configurar un repositorio de base de datos en PostgreSQL para Pentaho Data Integration

En ésta publicación explico el procedimiento para crear un repositorio de base de datos en PostgreSQL para la herramienta Spoon de Pentaho Data Integration (PDI)

Requisitos.-

1. Crear en PostgreSQL la base de datos PDI_REPO colocando como propietario al usuario postgres

Procedimiento.- 

1. Ir al directorio de PDI. Por ejemplo: c:\pentaho\pdi-ce-4.3.0\data-integration
2. Ejecutar Spoon.bat para Windows o Spoon.sh para Unix
3. Hacer clic en el botón de agregar un nuevo repositorio



4. Seleccionar Kettle Database Repository



5. Hacer clic en el botón New para crear una conexión a la base de datos PDI_REPO




6. Definir el mismo nombre para los campos ID y Name



7. Hacer clic en el botón Create or Upgrade para crear la estructura de base de datos con la que trabaja Spoon en la base de datos PDI_REPO

8. Finalmente, hacer clic en el botón OK

martes, 15 de enero de 2013

Cómo acceder como SYSDBA a una base de datos Oracle desde SQuirreL

En ésta publicación explico el procedimiento para acceder desde SQuirreL SQL Client a una base de datos Oracle usando los privilegios SYSDBA

1. Ir a las propiedades de la conexión (Properties)


2. Ir a las propiedades del controlador (Driver Properties), marcar la opción Use driver properties y asignar el valor SYSDBA a la variable internal_logon como se muestra a continuación: