Refreshing Data Source with Tabcmd refreshextracts Appears Successful But Actually Fails

Published: 23 Sep 2016
Last Modified Date: 01 Dec 2017


When refreshing a published data source on Tableau Online using tabcmd in a batch script, commands appear to succeed, but the refresh fails.


  • Tableau Online
  • On-premise data source
  • tabcmd


In order to automate refreshes of an on-premise data source, there are a few options:

Option 1

Use Tableau Bridge (formerly Sync Client)

Option 2

Create a script using the Tableau Data Extract Utility. This utility pushes the data to Tableau Online (rather than pulling from Tableau Online, as tabcmd does). For more information, see Automate Extract Refresh Tasks from the Command Line.


On Tableau Online, you can use tabcmd to refresh supported data sources that are hosted in the cloud. For example, SQL Server, MySQL, PostgreSQL on a cloud platform; Google Analytics; and so on. To refresh on-premises data, or Oracle data that is either on-premises or hosted, you can use the Tableau Online sync client or the command-line data extract utility. Learn more at Schedule Extract Refreshes Using Bridge and Automate Extract Refresh Tasks from the Command Line.

The reason the tabcmd commands appear to be succeeding is that "tabcmd refreshextracts" schedules the extract refresh, but does not wait to see whether the refresh succeeds. If you add the --synchronous flag, then the command will wait until the refresh attempt is complete and will produce a detailed error message instead of the success command.,


Did this article resolve the issue?