Show Table of Contents
This topic provides suggestions for troubleshooting issues when you're using the Tableau SDK to create or publish extracts.
The following sections list issues that are often the source of problems when using the Tableau SDK.
If you are running on Windows and you have not installed Visual Studio, you see an error that starts with the following:
java.lang.UnsatisfiedLinkError: Unable to load library 'Tableau.Extract': The specified module could not be found.
This probably means that the Visual C++ runtime library is not installed in your computer. This library is required even if you are not using C or C++, and even if you are not using Visual Studio.
If you see this error, download and install the library from the following page on the Microsoft site:
Visual C++ Redistributable Packages for Visual Studio 2013
If you are running on Linux, the libpcre16.so.0 package is a required to run the Tableau SDK. You might see an error message similar to the following if you do not have it installed.
OSError: libpcre16.so.0: cannot open shared object file: No such file or directory
The error is common on newer versions of Ubuntu. To fix this problem, run the following commands:
sudo apt-get install libpcre16-3
sudo ln -s /usr/lib/x86_64-linux-gnu/libpcre16.so.3 /usr/lib/x86_64-linux-gnu/libpcre16.so.0
This installs the latest package,
libpcre16-3, and creates a symbolic link to the installed
libpcre16.so.3 for the missing
If you're trying to create or update an extract and the process is not succeeding, check the following:
Check that the folder where you are writing the extract already exists, and that you have permissions to write to the folder.
Make sure that the data that you're writing to the extract for a specific column matches the data type that is defined for that column.
Check that you're using the name "Extract" for the table. This is the only name that you can use for a table in a .tde file.
Make sure you're not running out of disk space. If the extract is very large, the code writes pieces of the
extract to the Tableau temporary directory as the extract is being created.
By default, the temporary directory is
the TMP or TEMP on Windows and the TMPDIR on other systems.
You can specify a different location for the temporary directory by
TAB_SDK_TMPDIR environment variable.
If you're trying to publish an extract to Tableau Server and the process is not succeeding, check the following:
Make sure the connection information is correct: server name, user name, password, and site ID (name). The
server value must include
The connect (or Connect) method makes a Sign In request using the Tableau REST API. If the connection fails and returns a server error code, you can try checking the error values that are listed in the documentation for the Sign In method.
Check that the user identity that you are signing in with has permission to publish to the site and project that you're using.
If you try to publish and the overwrite parameter is set to false, check whether an extract already exists with the name that you're using.
The publishExtract (or PublishExtract) method makes a Publish Datasource request using the Tableau REST API. If the publish operation fails and returns a server error code, you can try checking the error values that are listed in the documentation for the Publish Datasource method.
Check the version number of the installation of Tableau Server that you're publishing to. When you publish an extract to Tableau Server using the Tableau SDK, the extract is assigned the version number of the server. This can make the extract incompatible with earlier versions of Tableau Desktop, such as version 8.3.
The classes in the Tableau SDK write information to log files. You can examine the log files to see the operations that the classes have performed, such as writing an extract file or connecting to Tableau Server. Because the classes write error information to the log files, you can also examine the log files to help determine if there's an issue when code is not performing as intended.
The Tableau SDK writes information to the following log files:
TableauSDKExtract.log. If the ExtractAPI class has been initialized, this log file contains information
about the process, such as the date and time it was initialized and the process ID.
DataExtract.log. This log file contains details about every step that the Tableau SDK went through in order
to create an extract. If the extract was not created successfully, the log file indicates where errors
TableauSDKServer.log. This file lists details of the server connection and publishing process, including
any errors that might have occurred.
By default, these log files are written to the current working directory. You can specify the target location for the
log files by setting the
TAB_SDK_LOGDIR environment variable.