Página 1 de 1

La instalación de ODBC falló después de la migración a wpat 2.2

Publicado: 2 de septiembre de 2022 - 12:44 p. m.
por jlatieule
Buen día,


En wapt 1.8, un paquete permitía la instalación del cliente Oracle con ODBC, pero esto ya no es posible después de la actualización a wapt 2.2
Tengo la impresión de que tengo un error en la salida que me impide seguir adelante
¿Cómo puedo ignorarlo o forzarlo?

La instalación de ODBC se realiza mediante el siguiente comando de PowerShell

Código: Seleccionar todo

Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1" -DsnType System -Name LOGI -SetPropertyValue @("Server=LOGI", "Description=LOGI", "User=LOGI")
En la consola de PowerShell, aparece un mensaje de error, pero no es un problema de bloqueo
Add-OdbcDsn: Error al ejecutar el controlador ConfigDSN, ConfigDriver o ConfigTranslator (código de error del instalador: 11).
En la línea:1 carácter: 1
+ Add-OdbcDsn -DriverName "Oracle en OraClient11g_home1" -DsnType Sys ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (LOGI (Source of...e ODBC de 32 bits):Root/Microsoft/...SFT_OdbcDsnTask) [Add-OdbcDsn], CimException
+ FullyQualifiedErrorId: MI RESULT 0,Add-OdbcDs
Lo oculté añadiendo argumentos -errorActionContinuar silenciosamente

Código: Seleccionar todo

Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1" -DsnType System -Name LOGI -SetPropertyValue @("Server=LOGI", "Description=LOGI", "User=LOGI") -errorAction silentlyContinue
El regreso de la consola PyScripter es

Código: Seleccionar todo

Client Oracle déjà installé
Mise à jour du fichier TnsName
Installation des drivers ODBC
2022-09-02 12:41:41,441 CRITICAL Fatal error in install script: CalledProcessErrorOutput: Command 'powershell -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -OutputFormat text -EncodedCommand "JABQAHIAbwBnAHIAZQBzAHMAUAByAGUAZgBlAHIAZQBuAGMAZQAgAD0AIAAiAFMAaQBsAGUAbgB0AGwAeQBDAG8AbgB0AGkAbgB1AGUAIgAKAEEAZABkAC0ATwBkAGIAYwBEAHMAbgAgAC0ARAByAGkAdgBlAHIATgBhAG0AZQAgACIATwByAGEAYwBsAGUAIABkAGEAbgBzACAATwByAGEAQwBsAGkAZQBuAHQAMQAxAGcAXwBoAG8AbQBlADEAIgAgAC0ARABzAG4AVAB5AHAAZQAgAFMAeQBzAHQAZQBtACAALQBOAGEAbQBlACAATABPAEcASQAgAC0AUABsAGEAdABmAG8AcgBtACAAMwAyAC0AYgBpAHQAIAAtAFMAZQB0AFAAcgBvAHAAZQByAHQAeQBWAGEAbAB1AGUAIABAACgAIgBTAGUAcgB2AGUAcgA9AEwATwBHAEkAIgAsACAAIgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APQBMAE8ARwBJACIALAAgACIAVQBzAGUAcgA9AEwATwBHAEkAIgApACAALQBlAHIAcgBvAHIAQQBjAHQAaQBvAG4AIABzAGkAbABlAG4AdABsAHkAQwBvAG4AdABpAG4AdQBlACAAIAB8ACAAQwBvAG4AdgBlAHIAdABUAG8ALQBKAHMAbwBuACAA" ' returned non-zero exit status 1.
Output::
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 1074, in run_powershell
    result = run(cmd,
  File "C:\Program Files (x86)\wapt\waptutils.py", line 2132, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command 'powershell -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -OutputFormat text -EncodedCommand "JABQAHIAbwBnAHIAZQBzAHMAUAByAGUAZgBlAHIAZQBuAGMAZQAgAD0AIAAiAFMAaQBsAGUAbgB0AGwAeQBDAG8AbgB0AGkAbgB1AGUAIgAKAEEAZABkAC0ATwBkAGIAYwBEAHMAbgAgAC0ARAByAGkAdgBlAHIATgBhAG0AZQAgACIATwByAGEAYwBsAGUAIABkAGEAbgBzACAATwByAGEAQwBsAGkAZQBuAHQAMQAxAGcAXwBoAG8AbQBlADEAIgAgAC0ARABzAG4AVAB5AHAAZQAgAFMAeQBzAHQAZQBtACAALQBOAGEAbQBlACAATABPAEcASQAgAC0AUABsAGEAdABmAG8AcgBtACAAMwAyAC0AYgBpAHQAIAAtAFMAZQB0AFAAcgBvAHAAZQByAHQAeQBWAGEAbAB1AGUAIABAACgAIgBTAGUAcgB2AGUAcgA9AEwATwBHAEkAIgAsACAAIgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APQBMAE8ARwBJACIALAAgACIAVQBzAGUAcgA9AEwATwBHAEkAIgApACAALQBlAHIAcgBvAHIAQQBjAHQAaQBvAG4AIABzAGkAbABlAG4AdABsAHkAQwBvAG4AdABpAG4AdQBlACAAIAB8ACAAQwBvAG4AdgBlAHIAdABUAG8ALQBKAHMAbwBuACAA" ' returned non-zero exit status 1.
Output:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4057, in install_wapt
    exitstatus = setup.install()
  File "c:\waptdev\ophlm-oracle-11g_11.2.0-6_windows_PROD-wapt\setup.py", line 50, in install
    run_powershell('Add-OdbcDsn -DriverName "Oracle dans OraClient11g_home1" -DsnType System -Name LOGI -Platform 32-bit -SetPropertyValue @("Server=LOGI", "Description=LOGI", "User=LOGI") -errorAction silentlyContinue')
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 1078, in run_powershell
    raise CalledProcessErrorOutput(e.returncode, cmd, e.output)
waptutils.CalledProcessErrorOutput: Command 'powershell -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -OutputFormat text -EncodedCommand "JABQAHIAbwBnAHIAZQBzAHMAUAByAGUAZgBlAHIAZQBuAGMAZQAgAD0AIAAiAFMAaQBsAGUAbgB0AGwAeQBDAG8AbgB0AGkAbgB1AGUAIgAKAEEAZABkAC0ATwBkAGIAYwBEAHMAbgAgAC0ARAByAGkAdgBlAHIATgBhAG0AZQAgACIATwByAGEAYwBsAGUAIABkAGEAbgBzACAATwByAGEAQwBsAGkAZQBuAHQAMQAxAGcAXwBoAG8AbQBlADEAIgAgAC0ARABzAG4AVAB5AHAAZQAgAFMAeQBzAHQAZQBtACAALQBOAGEAbQBlACAATABPAEcASQAgAC0AUABsAGEAdABmAG8AcgBtACAAMwAyAC0AYgBpAHQAIAAtAFMAZQB0AFAAcgBvAHAAZQByAHQAeQBWAGEAbAB1AGUAIABAACgAIgBTAGUAcgB2AGUAcgA9AEwATwBHAEkAIgAsACAAIgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APQBMAE8ARwBJACIALAAgACIAVQBzAGUAcgA9AEwATwBHAEkAIgApACAALQBlAHIAcgBvAHIAQQBjAHQAaQBvAG4AIABzAGkAbABlAG4AdABsAHkAQwBvAG4AdABpAG4AdQBlACAAIAB8ACAAQwBvAG4AdgBlAHIAdABUAG8ALQBKAHMAbwBuACAA" ' returned non-zero exit status 1.
Output:

FATAL ERROR : CalledProcessErrorOutput: Command 'powershell -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -OutputFormat text -EncodedCommand "JABQAHIAbwBnAHIAZQBzAHMAUAByAGUAZgBlAHIAZQBuAGMAZQAgAD0AIAAiAFMAaQBsAGUAbgB0AGwAeQBDAG8AbgB0AGkAbgB1AGUAIgAKAEEAZABkAC0ATwBkAGIAYwBEAHMAbgAgAC0ARAByAGkAdgBlAHIATgBhAG0AZQAgACIATwByAGEAYwBsAGUAIABkAGEAbgBzACAATwByAGEAQwBsAGkAZQBuAHQAMQAxAGcAXwBoAG8AbQBlADEAIgAgAC0ARABzAG4AVAB5AHAAZQAgAFMAeQBzAHQAZQBtACAALQBOAGEAbQBlACAATABPAEcASQAgAC0AUABsAGEAdABmAG8AcgBtACAAMwAyAC0AYgBpAHQAIAAtAFMAZQB0AFAAcgBvAHAAZQByAHQAeQBWAGEAbAB1AGUAIABAACgAIgBTAGUAcgB2AGUAcgA9AEwATwBHAEkAIgAsACAAIgBEAGUAcwBjAHIAaQBwAHQAaQBvAG4APQBMAE8ARwBJACIALAAgACIAVQBzAGUAcgA9AEwATwBHAEkAIgApACAALQBlAHIAcgBvAHIAQQBjAHQAaQBvAG4AIABzAGkAbABlAG4AdABsAHkAQwBvAG4AdABpAG4AdQBlACAAIAB8ACAAQwBvAG4AdgBlAHIAdABUAG8ALQBKAHMAbwBuACAA" ' returned non-zero exit status 1.
Output:
Exit code:  3
>>> 

Re: La instalación de ODBC falló después de la migración a wpat 2.2

Publicado: 2 de septiembre de 2022 - 14:33
por sfonteneau
Lo probé aquí (fuera de Wapt);

`silentlyContinue` en PowerShell no parece funcionar y devuelve un código de salida 1.

Extraño.

Re: La instalación de ODBC falló después de la migración a wpat 2.2

Publicado: 2 de septiembre de 2022 - 16:20
por dcardon
¿Has probado a usar odbcconf? (Admito que soy un poco alérgico a PowerShell) :-) ) ? (es necesario verificar la sintaxis, no tengo Oracle ODBC en mi máquina)

Código: Seleccionar todo

odbcconf configsysdsn "Oracle dans OraClient11g_home1" "DSN=LOGI;SERVER=LOGI;DESCRIPTION=LOGI,USER=LOGI"

Re: La instalación de ODBC falló después de la migración a wpat 2.2

Publicado: 6 de septiembre de 2022 - 17:36
por jlatieule
Probaré con odbcconf, pero hace dos años cuando diseñé el paquete ya vi la alerta de fin de soporte: https://docs.microsoft.com/fr-fr/sql/od ... rver-ver16
Nota:

ODBCCONF.exe se eliminará en una futura versión de Componentes de acceso a datos de Windows. Evite usar esta función y planifique la modificación de cualquier aplicación que la utilice actualmente. Puede usar comandos de PowerShell para administrar controladores y orígenes de datos. Para obtener más información sobre estos comandos de PowerShell, consulte los cmdlets de Componentes de acceso a datos de Windows.
Dudo en usarlo porque el cliente Oracle es necesario para ciertas extracciones de datos a través de Excel.
Preferiblemente me gustaría seguir con una instalación que utilice PowerShell.

Es extraño porque funcionó bien con wapt 1.8; algo debe haber cambiado en el lado de Python después de la actualización de la versión

Re: La instalación de ODBC falló después de la migración a wpat 2.2

Publicado: 8 de septiembre de 2022 - 16:53
por dcardon
¿El controlador es de 32 o 64 bits? Si el controlador es de 32 bits, tenga cuidado, ya que el script de PowerShell que ejecuta Wapt es de 64 bits. En ese caso, debe agregar el siguiente parámetro
-Plataforma de 32 bits
Necesitamos evitar que errorAction se ignore silenciosamente, no es muy limpio.

Si el código de error es "normal", debe agregarse como parámetro a la función run_powershell con la opción accept_returncodes.

Atentamente,

Denis