Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:tips:browser:misecelaneos [2023/04/03 12:33] 192.168.175.59 [Datawindow - PL/SQL: ORA-00957: nombre de columna duplicado] |
ada:tips:browser:misecelaneos [2023/10/30 13:08] (actual) 192.168.175.10 |
||
---|---|---|---|
Línea 10: | Línea 10: | ||
* sqlite3_analyzer.exe | * sqlite3_analyzer.exe | ||
- | Desde la ruta [[http://10.1.70.220:1443/svn/repository/ADA/SICOF/CONTABILIDAD|svn]] y copielos en la ruta donde se encuentre la carpeta .svn del repositorio con problemas. Luego ejecute los siguientes comandos en el orden indicado. Como ejemplo se asume que el repositorio esta en C:\ | + | Desde la ruta [[http://10.1.70.220:1443/svn/repository/ADA/SICOF/CONTABILIDAD|svn]] y copielos en la ruta donde se encuentre la carpeta .svn((Se debe habilitar la visualización de elementos ocultos en los directorios svn locales)) del repositorio con problemas. Luego ejecute los siguientes comandos en el orden indicado. Como ejemplo se asume que el repositorio esta en C:\ |
- C: sqlite3 .svn\wc.db | - C: sqlite3 .svn\wc.db | ||
Línea 20: | Línea 20: | ||
De esta forma se eliminarán las referencias con conflicto y se podrá utilizar el repositorio nuevamente para gestionar los cambios. | De esta forma se eliminarán las referencias con conflicto y se podrá utilizar el repositorio nuevamente para gestionar los cambios. | ||
- | ===== Base de Datos: Oracle (12c) ==== | + | ===== Base de Datos ==== |
- | ==== Utilizar Oracle 12c en TOAD ==== | + | ==== Oracle (11g): Otorgar permisos para ejecutar recursos java desde la base de datos ==== |
+ | |||
+ | <code sql> | ||
+ | DECLARE | ||
+ | KEYNUM NUMBER; | ||
+ | BEGIN | ||
+ | SYS.DBMS_JAVA.GRANT_PERMISSION( | ||
+ | grantee => 'ADMINISTRACION' | ||
+ | ,permission_type => 'SYS:java.lang.RuntimePermission' | ||
+ | ,permission_name => 'accessClassInPackage.sun.misc' | ||
+ | ,permission_action => '' | ||
+ | ,key => KEYNUM | ||
+ | ); | ||
+ | END; | ||
+ | / | ||
+ | </code> | ||
+ | |||
+ | ==== Oracle (12c): Utilizar Oracle 12c en TOAD ==== | ||
En el siguiente link [[https://blog.toadworld.com/how-to-install-an-oracle-instant-client-for-toad-for-oracle|How to install an Oracle Instant Client for Toad® for Oracle]] Podemos realziar el proceso. | En el siguiente link [[https://blog.toadworld.com/how-to-install-an-oracle-instant-client-for-toad-for-oracle|How to install an Oracle Instant Client for Toad® for Oracle]] Podemos realziar el proceso. | ||
+ | |||
+ | ==== Oracle (12c): ORA-22835: El buffer es demasiado pequeño para la conversión de CLOB a CHAR o de BLOB a RAW (real:, máximo:) ==== | ||
+ | Se recomienda evitar el uso de lso tipos CHAR, VARCHAR, RAW y LONG RAW ya que esos tipos presentar problemas en proceso de exportación, conversiones de tipos de datos, migraciones según documentación la cual puede consultarse en el siguiente [[https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF55623|Link]]. En su defecto utilizar los tipos según la siguiente recomendación. | ||
+ | |||
+ | * CHAR -> VARCHAR2 | ||
+ | * VARCHAR -> VARCHAR2 | ||
+ | * RAW -> BLOB (Para Binarios) / CLOB(Para recursos que se puedan llevar a String Base64) | ||
+ | * LONG RAW -> BLOB (Para Binarios) / CLOB(Para recursos que se puedan llevar a String Base64) | ||
+ | |||
+ | Solución: Para corregir en error se debe identificar el tipo de dato que genera el problema | ||
+ | |||
+ | Para tipos RAW y LONG RAW debe cambiar el tipo de datos de la columna. | ||
+ | |||
+ | Ejemplo: | ||
+ | |||
+ | <code sql> | ||
+ | --La columna SOPORTE es tipo LONG RAW, se puede cambiar directamente a tipo BLOB con la siguinete sentencia | ||
+ | ALTER TABLE PRESUP01.DET_DOCUMENTO_SOPORTES MODIFY(SOPORTE BLOB DEFAULT EMPTY_BLOB()); | ||
+ | </code> | ||
+ | |||
+ | ==== Oracle (12c): ORA-01502: índice inválido ==== | ||
+ | Esto sucede porque en algunos procesos como importaciones, ejecución de estadisticas u optimizaciones de indices, este queda inv´lido y no permite acceder a algunos objetos. Solución: Se debe identificar el indice y reconstruirlo. | ||
+ | |||
+ | A continuación se muestra una consulta de Ejemplo que muestra algunos filtros de identificación y genera el alter de corrección. Nota: Se debe identificar el tablespace de cada sentencia generada el valor inicial y valor de ampliación. | ||
+ | |||
+ | <code sql> | ||
+ | --Consulta de identificación de indices malo y generación de sentencia de corrección. | ||
+ | select owner,table_name,index_name,status, DECODE(STATUS, 'VALID', NULL, 'ALTER INDEX ' || OWNER || '.' || index_name || ' REBUILD TABLESPACE TESORERIA STORAGE (INITIAL 4M NEXT 1M);') AS SQL | ||
+ | from dba_indexes | ||
+ | --where owner = 'TESORE01' | ||
+ | --and table_name = 'MAESTRO_TERCEROS' | ||
+ | where status <> 'VALID' | ||
+ | --and OWNER in ('TALENYO') | ||
+ | order by 5 asc; | ||
+ | --NOTA: Se debe identificar y modificar el TABLESPACE de cada sentencia generada. | ||
+ | </code> | ||
===== Navegadores ===== | ===== Navegadores ===== | ||
Línea 56: | Línea 109: | ||
\\ //**Solución:** Identifique que tabla o tablas no son actualizables y adicione alias a las columnas dle mismo nombre menos la columna de la tabla actualizable.// | \\ //**Solución:** Identifique que tabla o tablas no son actualizables y adicione alias a las columnas dle mismo nombre menos la columna de la tabla actualizable.// | ||
+ | ==== Datawindow - SQLcode = -1 con SQLErrText = "" ==== | ||
+ | Esto puede suceder porque se generan errores en la definición del datawindow. Algunas de las causas son: | ||
+ | |||
+ | * Algunas columnas del datawindow no existen en la base de datos de la conexión establecida. Solución: Adicione las colunas en la base de datos o excluya las columnas del datawindow. | ||
+ | * No se ha seteado la transacción. Solución: Establezca la transacción con SetTransObject | ||
+ | * El DataObject contiene un nombre no válido o inexistente en el proyecto. Establezca el datawindow con dataobject. | ||
+ | * Algunas columnas son NOT NULL. Solución: Inicialice la columna en el Datawindow, Datastore ó INSERT SQL. | ||
+ | * Algunos mapeos no están correctos con el tipo de datos de la base de datos. | ||
+ | |||
+ | ==== SnapDevelop - Errores Create Session Failed - WebAPI ==== | ||
+ | A continuación se listan los errores que se pueden generar al iniciar una applicación PowerServer. Ver el siguiente [[https://docs.appeon.com/ps2022/Session_creation_failed.html|Link]] para más información. | ||
+ | |||
+ | ==== SnapDevelop - Customize Deploy (Configuraciones post despliegue) ==== | ||
+ | En ciertas ocasiones se necesita modificar algunas propiedades de un despliegue PowerServer. A continuación se comparte el [[https://docs.appeon.com/ps2021/Change_the_Web_API_URL_for_an_application.html|Link]] donde se pueden modificar las siguientes opciones: | ||
+ | |||
+ | * WebAPI | ||
+ | * Recuersos Externos | ||
+ | * Contraseña conexión base de datos. | ||
+ | |||
+ | ==== PowerServer - Errores Frecuentes ==== | ||
+ | A continuación se listan algunos errores frecuentes identificados en los procesos de migración y la solución identificada para cada caso. Tener presente que agunos errores pueden solucionarse de otra formapor lo tanto asuma la información como guía. | ||
+ | |||
+ | === Alias iguales === | ||
+ | Se ha identificado que algunas consultas cuando tienen alias en las columnas iguales a los nombres de las columnas, genera error en la WebAPI. | ||
+ | |||
+ | Ejemplo: | ||
+ | <code sql> | ||
+ | --Se genera error en la web API | ||
+ | SELECT COLUMN1 AS COLUMN1, COLUMN2 AS COLUMN2 FROM SICOF.TABLA WHERE COLUMN3 > 0; | ||
+ | </code> | ||
+ | |||
+ | Solución: Se deben quitar los alias iguales a los nombres de las columnas. | ||
+ | <code sql> | ||
+ | --Consulta corregida | ||
+ | SELECT COLUMN1, COLUMN2 FROM SICOF.TABLA WHERE COLUMN3 > 0; | ||
+ | </code> | ||
+ | |||
+ | === Funciones SQL en campos actualizables de Datawindows === | ||
+ | Se ha identificado que cuando se aplican consultas SQL como TRUNC, RTRIM, TRIM, DECODE, NVL en columnas que son actualizables en los datawindows genera error de columna NULA. | ||
+ | |||
+ | Ejemplo: | ||
+ | <code sql> | ||
+ | --Se genera error en la web API | ||
+ | SELECT RTRIM(COLUMN1), TRUNC(COLUMN2) FROM SICOF.TABLA WHERE COLUMN3 > 0; | ||
+ | </code> | ||
+ | |||
+ | Solución: Se deben quitar las funciones de las columnas actualizables. | ||
+ | <code sql> | ||
+ | --Consulta corregida | ||
+ | SELECT COLUMN1, COLUMN2 FROM SICOF.TABLA WHERE COLUMN3 > 0; | ||
+ | </code> | ||
+ | |||
+ | === Inicialización de Columnas con Valor por Defecto en Datawindows === | ||
+ | Se ha identificado que los campos de datawindow que representan columnas de la tablas que tiene valores por defecto, se están enviando nulos en la WebApi. | ||
+ | |||
+ | Solución: Inicialice el campo en el datawindow con el valor por defecto al momento de insertar la fila. | ||
+ | |||
+ | ==== PowerServer - Errores de Ejecución y administración de la aplicación implementada ==== | ||
+ | A continuación se comparte un [[https://docs.appeon.com/ps2022/Run_the_installable_cloud_application.html|Link]] con información relacionada con los errores que se pueden presentar al desplegar y ejecutar aplicaciones. | ||
+ | |||
+ | ==== PowerServer - Configuraciones de Timeouts ==== | ||
+ | A continuación se comparte [[https://docs.appeon.com/ps2022/Configure_timeout_settings.html|link]] con información acerca de lso timeouts que deben ser configurados en las aplicaciones según el proceso. | ||
[[ada:tips|Volver]] | [[ada:tips|Volver]] |