License
Configure how FastBCP retrieves and uses its license file.
License Parameter
Use the --license parameter to specify the location or content of your FastBCP license.
By default, FastBCP looks for a license file named FastBCP.lic in the current directory, then next to the FastBCP executable. You can specify a custom license file using the --license parameter.
- A license is always required, including for the free 30-day trial: the trial is a license file requested at arpe.io. There is no build-date trial any more.
--helpand--versionwork without a license. - A license file can hold several blocks, each followed by its own signature, in any order: the FASTBCP block, an
ARPE ADBC DRIVER LICENCEblock for the ADBC drivers, and other products' blocks. FastBCP checks the FASTBCP block against the signature that follows it, and forwards every ADBC block with its signature to the ADBC drivers, inline (arpeio.adbc.license, no temporary file); each driver uses the block meant for it. A driver license of your own (arpeio.adbc.license/LicenseFilein--sourceconnectstring, orARPEIO_ADBC_LICENCE/ARPEIO_ADBC_LICENCE_FILE) wins: FastBCP then forwards nothing. - No license, an invalid signature, or an
adbc_*/backup_mssqlconnection type with no ADBC driver block (and noARPEIO_ADBC_LICENCE/ARPEIO_ADBC_LICENCE_FILE): FastBCP stops with exit code 99. An expired license after its grace period: exit code 100.
License Sources
FastBCP supports multiple ways to provide a license:
1. File Path
Specify a custom license file path:
- Windows
- Linux
.\FastBCP.exe `
...
--license "C:\licenses\FastBCP.lic" `
...
./FastBCP \
...
--license "/path/to/licenses/FastBCP.lic" \
...
2. HTTP(S) Endpoint
Retrieve the license from a remote URL where you put the license content and distribute it using https :
- Windows
- Linux
.\FastBCP.exe `
...
--license "https://licenseserve.yourdomain.lan/fastbcp.lic" `
...
./FastBCP \
...
--license "https://licenseserve.yourdomain.lan/fastbcp.lic" \
...
3. License Content (Inline)
Provide the license content directly. Using a variable or environment variable is recommended. Usefull for Docker or Lambda deployment:
- Windows
- Linux
# Using environment variable
$env:FASTBCP_LICENSE = "LICENSE_CONTENT_HERE"
.\FastBCP.exe `
...
--license $env:FASTBCP_LICENSE `
...
# Using variable
$license = Get-Content "C:\licenses\FastBCP.lic" -Raw
.\FastBCP.exe `
...
--license $license `
...
# Using environment variable
export FASTBCP_LICENSE="LICENSE_CONTENT_HERE"
./FastBCP \
...
--license "$FASTBCP_LICENSE" \
...
# Using variable
license=$(cat /path/to/licenses/FastBCP.lic)
./FastBCP \
...
--license "$license" \
...
Syntax:
- Long form only:
--license "<path_or_content>"
Complete Example
Here's a complete example using a license from a remote server with parallel export:
- Windows
- Linux
.\FastBCP.exe `
--connectiontype pgsql `
--server "localhost:15432" `
--database "tpch10" `
--user "FastUser" `
--password "FastPassword" `
--query "SELECT * FROM dbo.orders" `
--directory "D:\temp" `
--fileoutput "pgsql_orders.parquet" `
--parallelmethod DataDriven `
--distributekeycolumn "YEAR(o_orderdate)" `
--paralleldegree 7 `
--merge false `
--runid "pgsql_to_parquet_parallel_datadriven" `
--license "//SharedUnc/licenses/fastbcp/fastbcp.lic"
./FastBCP \
--connectiontype pgsql \
--server "localhost:15432" \
--database "tpch10" \
--user "FastUser" \
--password "FastPassword" \
--query "SELECT * FROM dbo.orders" \
--directory "/temp" \
--fileoutput "pgsql_orders.parquet" \
--parallelmethod DataDriven \
--distributekeycolumn "YEAR(o_orderdate)" \
--paralleldegree 7 \
--merge false \
--runid "pgsql_to_parquet_parallel_datadriven" \
--license "//SharedUnc/licenses/fastbcp/fastbcp.lic"
This example:
- Retrieves the license from a remote unc path
- Connects to a PostgreSQL database
- Exports orders data using DataDriven parallel method with 7 threads
- Uses a YEAR expression on the distribute key column
- Keeps distributed files separate (merge=false)
License Agreement
FastBCP and the ARPE.IO drivers it ships with are licensed under the ARPE.IO Software License Agreement, delivered with the software (LICENSE.txt, next to the executable).
Reverse engineering, decompiling or disassembling the binaries of ARPE.IO tools and drivers, or otherwise attempting to derive their source code, internal structure, algorithms or data formats, is prohibited, whether it is done manually or with the help of automated tools or artificial intelligence, except to the extent that applicable law expressly permits it. Any breach terminates the license and may give rise to legal proceedings.