Skip to main content
Version: 0.30 (Latest)

Advanced Parameters

This section covers advanced configuration options for FastBCP.

Run ID

The Run ID parameter --runid is a unique identifier for the current export operation. It can be used for tracking, logging, and monitoring purposes.

Information

If not specified, FastBCP will generate a unique Run ID automatically.

Tips

If possible, inject the RunId provided by the caller (e.g., SSIS, Airflow, or any scheduler that supports a run identifier). This will greatly facilitate log correlation and troubleshooting.

./FastBCP \
...
--runid "export-2024-01-09-001" \
...

Syntax:

  • Long form only: --runid "<unique_identifier>"

Log Level

The Log Level parameter --loglevel controls the verbosity of logging output during export operations.

Available values:

  • Information (default): Standard logging with key operation details
  • Debug: Verbose logging with detailed diagnostic information
./FastBCP \
...
--loglevel "Debug" \
...

Syntax:

  • Long form only: --loglevel "<Information|Debug>"
note

If a settings file is specified with --settingsfile, the log level defined in the settings file takes precedence unless overridden by the command-line parameter.

Information

See Logging Overview for detailed information about logging configuration and output.

Settings File

The Settings File parameter --settingsfile allows you to store all FastBCP parameters in a configuration file, making it easier to manage complex exports and reuse configurations.

./FastBCP \
...
--settingsfile "/path/to/config/export-config.json" \
...

Syntax:

  • Long form only: --settingsfile "<path_to_json_file>"
Information

See Logging Overview for examples of settings file configuration.

Config File

The Config File parameter --config allows you to define all FastBCP parameters in a YAML configuration file. This provides a more structured and readable way to manage export configurations compared to JSON settings files.

.\FastBCP.exe --config samples\sample_mssql_to_csv.yaml

Syntax:

  • Long form only: --config "<path_to_yaml_file>"

YAML Configuration Example

Here's a complete example of a YAML configuration file:

# FastBCP – MSSQL to CSV using RangeId parallel method
#
# Usage:
# .\FastBCP.exe --config samples\sample_mssql_to_csv.yaml
connection:
type: mssql
server: localhost
database: tpch10_collation_bin2
trusted: true

source:
schema: dbo
table: orders

output:
file: "mssql_orders_{startdate}.csv"
directory: 'D:\temp\{database}\{schema}\{table}\full\'
delimiter: "|"
decimal_separator: "."
date_format: "yyyy-MM-dd HH:mm:ss"
encoding: UTF-8

performance:
method: RangeId
degree: -2
distribute_key_column: o_orderkey
merge: false

logging:
run_id: mssql_to_csv_parallel-2_rangeid
Benefits of YAML Configuration
  • Structured and readable: YAML format is more human-friendly than JSON
  • Comments support: Add documentation directly in your configuration files
  • Reusable configurations: Version control your export settings
  • Simplified command-line: Reduce complex exports to a single --config parameter

No Banner

Disable the FastBCP banner display in the command line output. This is useful for scripting or when you want cleaner output in automated processes.

Example:

./FastBCP \
...
--nobanner \
...

Syntax:

  • Long form: --nobanner
Clean Output

Using --nobanner is recommended when running FastBCP from scripts or CI/CD pipelines where you want to minimize console output or parse the results programmatically.

Complete Example

Here's a complete example using advanced parameters:

.\FastBCP.exe `
--connectiontype "oraodp" `
--server "localhost:1521/OraService" `
--database "tpch" `
--user "FastUser" `
--password "FastPassword" `
--sourceschema "TPCH" `
--sourcetable "ORDERS" `
--directory "D:\temp" `
--fileoutput "orders.xlsx" `
--encoding "UTF-8" `
--parallelmethod RowId `
--paralleldegree 7 `
--merge false `
--loglevel "Debug" `
--runid "oracle_to_excel_parallel_rowid" `
--settingsfile "C:\config\oracle-export.json" `
--nobanner

This example:

  • Connects to an Oracle database using the RowId parallel method
  • Exports ORDERS table to Excel format with UTF-8 encoding
  • Uses 7 parallel threads with separate files (merge=false)
  • Enables Debug logging for detailed diagnostics
  • Uses a custom Run ID for tracking
  • Loads additional configuration from a settings file
  • Disables the banner for cleaner output
Copyright © 2026 Architecture & Performance.