Loading

Tabcmd export o get ignoran los parámetros cuando se ejecutan desde un archivo por lotes

Fecha de publicación: Jul 20, 2023
Descripción
Al ejecutar un archivo .bat para automatizar la exportación de vistas de Tableau Server, los parámetros de filtro se ignoran cuando contienen espacios u otros caracteres que requieren codificación.

Por ejemplo, si se ejecuta una secuencia de comandos .bat con el siguiente comando de exportación, se genera un PDF para la vista original (sin filtrar):

tabcmd export "Workbook/Sheet1?Order%20Priority=High&Customer%20Segment=Home%20Office" -s http://server-u user -p password --fullpdf -f "C:\export.pdf"

El archivo tabcmd.log muestra que la solicitud resultante es:

tabcmd export "Workbook/Sheet1?Order0Priority=High&Customer0Segment=Home0Office" -s http://server-u user -p password --fullpdf -f "C:\export.pdf"

Observe que el '%2' se elimina de la URL.

Cause

  • El intérprete de comandos de Windows, cmd.exe, funciona de forma diferente en función de si se especifica una cadena en la línea de comandos o dentro de un archivo por lotes.
  • Añadir el segundo '%' a la cadena de codificación indica al intérprete de comandos que mire la cadena de codificación literalmente, en lugar de evaluarla como un argumento.
Solución
  • Evite cualquier codificación utilizando un segundo carácter '%', como en los ejemplos siguientes:
tabcmd export "Workbook/Sheet1?Order%%20Priority=High&Customer%%20Segment=Home%%20Office" -s http://server-u user -p password --fullpdf -f "C:\export.pdf"
Recursos adicionales

Número del artículo de conocimiento

001473459

 
Cargando
Salesforce Help | Article