Hola, quisiera obtener la funcion hash de varias cadenas para compararlas en dos bases de datos Oracle diferentes . Intenté utilizar la funcion DBMS_CRYPTO.HASH usando a MD5 como algoritmo pero lamentablemente al hacerlo en bases de datos difierentes algunos caracteres como CHR(13), CHR(63),CHR(243) ,CHR(237),CHR(249), CHR(225) , CHR(233), CHR(191) se codifican diferentes para cada base de datos, a pesar de usar el mismo algoritmo. Una posible solución es sustituir estos caracteres en los texto por uno que no de problemas como el espacio(' ') pero no es muy elegante y al ser millones de cadenas consumiría muchos recursos. Además solo tengo identificados esos y pudiera ser posible que el problema ocurra con algún otro. Otra solución es usar a ora_hash pero su posibilidad de colisiones es considerablemente menor y preferiría no correr tal riesgo. Verifiqué las opciones de lenguaje y caracteres de ambas bases de datos que probé y eran idénticos por lo que pude concluir que el algoritmo DBMS_CRYPTO.HASH utiliza algún otro parámetro para esta codificación que varía de una instancia a otra. Mis BD están en 10g. Quisiera saber si alguien tiene experiencia en este tipo de problemas y me pudieran comentar porqué las codificaciones son diferentes en ambas intancias y si suguieren alguna nueva solución. De antemano gracias..
Añadir Nuevo Comentario