CSV Files - Console Mode

Uploading Data from CSV Files - Console Mode

Invoking Upload Tool using the Command line mode (console mode) will be useful when you want to upload data periodically using a scheduler or when you have to invoke the tool from another application. In this section, we will discuss how to set up this tool for batch upload of CSV data in Command line mode .

Uploading Data

Steps for running the CSV upload tool in console mode: 

  • Ensure that you have already created the database in Zoho Reports account into which the data is to be uploaded. To know how to create a database, click here 
  • Configure the proxy settings and the required Import settings in the common_params.conf file. Read more about these configuration settings from the Proxy Settings and Import Settings sections.
  • Run the CSVUploadConsole.bat / CSVUploadConsole.sh file under <Tools_Home> bin directory along with the required parameters. You have to provide full path of the CSV file to be uploaded, Zoho Reports Database name, Table name, Type of Import, Zoho Reports User Name and Password in the same order as given in the following snippet. 

 CSVUploadConsole.bat [file_name] [database_name] [table_name] [APPEND/UPDATEADD/TRUNCATEADD] <zohoreports_username> <zohoreports_password>" 

  • After successful execution, the data in the CSV file will get uploaded to the specified table in Zoho Reports database.

Note:

  • The last upload details will be logged in the <Tool_Home>/logs/csvupload_serverout.txt file.

The following are the mandatory parameters that should be given as arguments when running the CSVUploadConsole.bat/sh file:

Parameter NameDescription
File Name (file_name)The CSV file location to be uploaded.
Database Name (database_name)The name of the database in Zoho Reports into which the CSV file is to be uploaded.

Note: Ensure that the database is already available in Zoho Reports account. If it does not exist create the database before executing this upload to avoid failure. To know how to create a database, click here.

Table Name (table_name)The table name into which the CSV file is to be uploaded. 

Ensure that the specified table with similar column structure is already created in the Zoho Reports Reporting Database.

In case the table does not exist, then you can set the Upload Tool to create the table and then upload the data into this table using the ZOHO_CREATE_TABLE parameter available in common_params.conf file. Refer to the Configure Import Settings section to know more about the ZOHO_CREATE_TABLE parameter.

Import TypeSet one of the following as Import Type.
  • APPEND - appends the CSV data to the end of the table.
  • UPDATEADD - updates existing data and appends new data. For this you need to configure ZOHO_MATCHING_COLUMNS in common_params.conf in theconf directory.
  • TRUNCATEADD - Deletes the existing data and adds new data.
User Name (zohoreports_username)Your Zoho Reports account login name

Note: If you have registered in Zoho Reports using other login such as Google Apps, Gmail, Facebook & Yahoo, then you cannot use these credentials to upload data using Upload Tool. In this case you need to generate a Zoho Username and Password to upload data. To know how to generate Zoho User credential, click here.

Password (zohoreports_password)Password for accessing your Zoho Reports account.

Configure Import Settings

The configuration file common_params.conf in /conf directory provides parameters that Upload Tool uses while uploading data. These settings help Zoho Reports properly understand the data being imported.

The following table lists the import parameters that can be configured in the common_params.conf file for uploading data from CSV files - Console mode.

Note:

  • You will not find all the below given parameters present in the configuration file (except mandatory ones). In case you do not find them, add them into the file and provide the required value as specified below.
ParameterPossible ValuesDescription
ZOHO_CREATE_
TABLE
  • True
  • False

Optional
This parameter specifies whether to create the table or throw error, if the specified table does not exist in the database.

  • True - New table will be created in the specified database with the said name and then the data will be imported. If the table already exists in the database, then the data will be imported into it.
  • False - The data will be imported into the specified table. If the table does not exist in the specified database then it throws an error.

Default value is false.

LINES_TO_SEND 

Optional 
Upload Tool splits the CSV file into batches for uploading. This parameter specifies the nu

er of row for each batch.
Default value is 10000.

ZOHO_FIRST_ROW_
HEADER
  • True
  • False

Optional 
This parameter specifies whether the first row of the CSV file is the column header or not.

  • True - First row contains the column header names.
  • False - First row does not contain the column headers. In this case it is mandatory to specify the column header names for the parameter ZOHO_COLUMN_HEADER_NAMES (described next).

Default is true.

ZOHO_COLUMN_
HEADER_NAMES
Column Names with comma separator
This parameter is mandatory when the ZOHO_FIRST_ROW_HEADER is set to false
Specify the column headers/names in the same order as the data exists in the CSV file. The column names provided here will be considered as the header of the CSV file.
ZOHO_DATE_FORMATFormat of the date.
E.g.,
ZOHO_DATE_FORMAT = dd-MMM-yyyy

Note: The above example indicates a date in the format 10-Nov-2013. Ensure you provide the appropriate notation to match your date format.

Optional 
In case you are using a custom date format other than the default date format in Zoho Reports, then you can use this parameter to specify the date format. Refer to the following link to know how to construct date format string.
http://reports.zoho.com/import/ImportHelp.jsp

ZOHO_MATCHING_
COLUMNS**  
List the column names separated by comma.
E.g.,: ZOHO_MATCHING_COLUMNS = Name, Department   

This parameter is mandatory when the ZOHO_IMPORT_TYPE is set to UPDATEADD. Set this parameter to column names based on which the existing records in the table need to be matched. If the record already exists in the table then it will be replaced with the new values in the uploaded CSV file. Remaining rows will be added at the end of the table. 

ZOHO_AUTO_IDENTIFY
  • True default
  • False

This parameter specifies whether the tool should automatically identify the delimiter or not.

  • True -The tool will automatically identify the delimiter (ZOHO_DELIMITER parameter) and text qualifier (ZOHO_QUOTED parameter) in the CSV file that is being imported. By default this will be set to true.  
  • False - You need to specify the delimiter and text qualifier explicitly. The following table lists the parameters to specify the delimiter and text qualifier. 

In case this parameter is set to false, then you need to specify the delimiter and text qualifier usin the parameters in the table below.

ZOHO_SKIPTOP 

Optional
This parameter specifies the number of top rows that are to be skipped in the CSV file being imported.

ZOHO_THOUSAND_
SEPARATOR
  • 0
  • 1
  • 2
  • 3

Optional
This parameter specifies the thousand separator for the numeric data.
The following is the list of parameter values and the corresponding thousand separator.

  • 0 - COMMA
  • 1 - DOT
  • 2 - SPACE
  • 3 - SINGLE QUOTE

Default is 0.

ZOHO_DECIMAL_
SEPARATOR
  • 0
  • 1

Optional 
This parameter specifies the decimal separator for the numeric data.

The following is the list of parameter values and the corresponding decimal separator.

  • 0 - DOT
  • 1 - COMMA

Default value is 0.

ZOHO_FILE_ENCODING
  • UTF-8
  • UTF-16
  • GB18030
  • Shift_JIS

Optional 
This parameter specifies the File Encoding Format of the input file.

Default value is UTF-8.

ZOHO_REMOVE_BOM
  • True
  • False

Optional
If you are uploading a CSV file contains which contains Byte Order Mark (BOM), then you can use this parameter to identify and remove BOM Characters. 

Set this to true, the tool will identify the BOM and remove the BOM from the file. You can also specify the BOM type (UTF-16LE,UTF-16BE), if you know the type.

ZOHO_CANOVERRIDE
  • True
  • False

Optional 
In case another import is triggered for the same table when this import is in process, then you can use this parameter to specify whether the new import can override this import.  

  • True - The tool will stop the current import process and overwrite the table with new import.
  • False - The tool will not disturb the current import process and will cancel the new import request.

Default value is false.

ZOHO_ON_IMPORT_
ERROR
  • ABORT
  • SKIPROW
  • SETCOLUMNEMPTY

This parameter controls the action to be taken in case there is an error during import.

  • ABORT - In case of any error, the import will be aborted.
  • SKIPROW - In case of any error, the specific row(s) in which error occurred will be skipped and then continue importing the rest of the data.
  • SETCOLUMNEMPTY - In case of any error, the value of the specific cell(s) in which error occurred will be set to empty and then continue importing the rest of the data.  

Default value is SETCOLUMNEMPTY

Setting Delimiter

The following table lists the parameters that need to be configured to set the delimiter when ZOHO_AUTO_IDENTIFY is set tofalse.

ParameterPossible ValuesDescription
ZOHO_COMMENTCHAR 

Comment Character.

The CSV row will be skipped, If the comment character is found at the beginning of the row.
Example: ZOHO_COMMENTCHAR=$

The above will skip the rows starting with $ character while importing.  

ZOHO_DELIMITER
  • 0
  • 1
  • 2
  • 3
Specifies the delimiter which separates the values in the file. The following is the list of parameter values and the corresponding delimiter:
  • 0 - COMMA
  • 1 - TAB
  • 2 - SEMICOLON
  • 3 - SPACE
ZOHO_QUOTED
  • 0
  • 1
  • 2
Specifies the Text Qualifier which surrounds string values in the CSV file, if available. The following is the list of parameter values and the corresponding text qualifier:
  • 0 - None
  • 1 - SINGLE QUOTE
  • 2 - DOUBLE QUOTE

The following screenshot illustrates the common_params.conf file showing some of the import parameters:

Setting up Periodic Upload of Data

Using Upload Tool you can periodically schedule uploading data from a CSV file. With this mechanism, you can have the latest data from your application synced into Zoho Reports, and the reports that you create over this data stay current.

You can setup a periodic schedule for the CSV Console mode utility using the Operating System Scheduler feature as explained below

Setting up Schedule in Windows Operating System:

  • Click Start -> Settings -> Control Panel ->Scheduled Tasks.
  • Click Add Scheduled Task. The "Schedule Task" wizard will open.
  • Click Action > Create Task to open the Create Task dialog.
  • Open Action Tab and then click New
  • Click Browse button and select the upload tool command line batch file CSVUploadConsole.bat in the Program/Script field. Ensure that you have provided the necessary settings in the Upload tool configuration files. 
  • In the Add Argument field enter the command line arguments for the batch file. i.e., full path of the CSV file to be uploaded, Zoho Reports Database name, Table name, Type of Import, Zoho Reports User Name and Password the same order as given in the following snippet.    
CSVUploadConsole.bat  C:\CSVdemo.csv  DemoDB  DemoTable  APPEND  eduardo password

  • Specify the time of schedule in the Start in field.
  • Click OK to save the task

Setting up Schedule in Linux or Mac Operating System:

  • In Linux or Mac, you can use the crontab command for scheduling the migration process using the command line script CSVUploadConsole.sh. (Checkout Simple Help on Linux Crontab command)
  • Ensure you have provided the necessary setting in the Upload tool configuration files. 

Points to consider, while scheduling periodic upload using Command line mode:

  • It is the users, responsibility to ensure that the latest data is uploaded into Zoho Reports by setting the schedule interval accordingly.  Also ensure that the CSV data file is located in the right place for the tool to access it.
  • In case you have deleted few records in the CSV file being uploaded, the only option to remove these records from Zoho Reports database is to set the Import Type as TRUNCATEADD. This will delete all the records in the table and then add the data available in the CSV file.  
  • In case you have modified few records in the CSV file being uploaded, then to get this modified in Zoho Reports database, set the Import Type as UPDATEADD and specify the matching columns.  The Upload Tool will compare the existing table in Zoho Reports with the CSV file being uploaded based on the matching columns. If the record already exists in the table then it will be replaced with the new values available in the CSV being uploaded. And the rest of the data will be appended at the end. 

Viewing the data online 

To view the data that you have uploaded,

  • Login to http://reports.zoho.com.
  • Click on the corresponding Database name under My Databases.
  • Click on the corresponding table at the Left to open the table and view the uploaded data.

FAQ and Troubleshooting Tips

Frequently Asked Questions

1. Can I upload Excel files using Upload Tool

2. Can I use my Yahoo / Gmail / Google Apps / Facebook user credentials to upload data using Upload Tool?

3. How to increase / decrease the batch size for upload?

4. Can I allow the shared user to upload the data into my table?

Troubleshooting Tips

Problem 1: I get "The host did not accept the connection within timeout of 15000 ms" while trying to upload data using Upload Tool. How to solve it?

Problem 2: I get an error message as ‘out of memory’ while trying to upload the file. How can I solve this error?

Problem 3: I get "Error!!! Sorry, you cannot upload files that exceed 50MB in size" while uploading data using Upload Tool. How to overcome this?

Problem 4: I get an error message as "Another import is in progress in this table started by the user 'User name' at 'time of import'." How to overcome this?

Problem 5: I get a message as "ZOHO_MATCHING_COLUMNS is not present in the request parameters list". How to solve it?

Problem 6: I get "Error!!! Column "Column_Name" is present in match columns but not in selected columns" while uploading data. How to overcome this?

Problem 7: I get error /ZohoReports/UploadTool/bin/UploadFromDB.sh: line 15: java: command not found. 

Problem 8: I get an error message as "Maximum Concurrent User Tickets Limit Exceeded". How to solve this?