Con el fin de demostrar la característica de seguridad de Oracle uno tiene que llamar OCIServerVersion() o OCIServerRelease() cuando aún no se ha establecido la sesión del usuario.pitón cx_Oracle y servidor de información
Teniendo el parámetro de base de datos sec_return_server_release_banner = false
. Estoy usando el módulo Python cx_Oracle para esto, pero no estoy seguro de cómo obtener la versión del servidor antes de establecer la conexión. ¿Algunas ideas?
cxOracle no usa las funciones OCI para obtener la versión pero llama a dbms_utility.db_version después de la conexión, así que creo que no puede hacerlo sin un usuario que tenga permiso de ejecución en el procedimiento dbms_utility.db_version, puede intentar eludir cxoracle jugando directamente con el cliente OCI usar ctypes (cxoracle en pypy usa ctypes) – sherpya
la función de conexión es Connection_Connect en Connection.c llama a OCIServerAttach() pero no hay formas de llamar a otra cosa antes de auth – sherpya
https://bitbucket.org/pypy/pypy/src/ default/pypy/module/oracle/interp_connect.py es rpython debes llamar a OCIServerVersion() después de serverattach, pero no sé qué tan fácil se puede portar a cpython + ctypes – sherpya