Target Connection Parameters
FastTransfer requires connection information to access your target database where data will be transferred. This page covers all target connection-related parameters.
Target Connection Type
Specify the type of target database connection driver to use. This parameter determines how FastTransfer connects to your target database.
./FastTransfer \
...
--targetconnectiontype mssql \
...
Syntax:
- Short form:
-C "connection_type" - Long form:
--targetconnectiontype "connection_type"
Available Target Connection Types:
| Connection Type | Description |
|---|---|
clickhouse | ClickHouse database |
duckdb | DuckDB database |
hana | SAP HANA database using hanabulk |
hanabulk | SAP HANA database with bulk insert |
hanaodbc | SAP HANA database via ODBC |
mssql | Microsoft SQL Server (default) |
mysql | MySQL/MariaDB database |
nzsql | IBM Netezza |
odbc | Generic ODBC connection |
oledb | Generic OLE DB connection |
orabdp | Oracle with direct path insert (oradirect) |
orabulk | Oracle with bulk insert |
oraodp | Oracle Data Provider |
pgbulk | PostgreSQL with insert unnest |
pgcopy | PostgreSQL with COPY protocol |
pgsql | PostgreSQL standard connection |
teradata | Teradata database |
Each target type optimizes data loading for the specific database system. For example, pgcopy uses PostgreSQL's COPY protocol for faster bulk loading, while hanabulk uses SAP HANA's optimized bulk insert.
Target DSN (Data Source Name)
If you have chosen an ODBC connection type for the target, you must define the DSN with the -n parameter, or alternatively define a connection string using --targetconnectionstring.
./FastTransfer \
...
--targetconnectiontype odbc \
--targetdsn "MyTargetODBCDataSource" \
...
Syntax:
- Short form:
-n "DSN_name" - Long form:
--targetdsn "DSN_name"
Target Provider
If you have chosen an OLEDB connection type for the target, you must define the OLEDB provider with the -p parameter.
./FastTransfer \
...
--targetconnectiontype oledb \
--targetprovider MSOLEDBSQL \
...
Syntax:
- Short form:
-p "provider_name" - Long form:
--targetprovider "provider_name"
Target Server
Except if you have defined a target connection string, you must define a target server (or could also be a TNS entry for Oracle).
Syntax:
- Short form:
-I "server" - Long form:
--targetserver "server"
Target Server Format Examples
The target server parameter accepts different formats depending on your database:
IP address or DNS name:
./FastTransfer \
...
--targetserver "mytargetserver.mydomain.com" \
...
IP address or DNS name with port number:
./FastTransfer \
...
--targetserver "mytargetserver.mydomain.com:3306" \
...
or
./FastTransfer \
...
--targetserver "mytargetserver.mydomain.com,1433" \
...
IP address or DNS name with named instance (SQL Server):
./FastTransfer \
...
--targetserver "mytargetserver.mydomain.com\TARGETINSTANCE" \
...
For Oracle - Easy Connect string:
./FastTransfer \
...
--targetserver "mytargetserver.mydomain.com:1521/TARGETPDB" \
...
For DuckDB - Local file path:
./FastTransfer \
...
--targetconnectiontype duckdb \
--targetserver "/path/to/target.duckdb" \
...
Target Connection String
You can use a connection string to define the connection to the target database. This connection string will override any other target connection parameters and can be used if the standard authentication modes are not sufficient for your use case.
You can use the target connection string for any connection type. The connection string must be enclosed in double quotes.
Example for SQL Server:
./FastTransfer \
...
--targetconnectionstring "Server=mytargetserver;Database=mytargetdb;User ID=TargetUser;Password=TargetPassword;Encrypt=True;TrustServerCertificate=True"
...
Example for PostgreSQL:
./FastTransfer \
...
--targetconnectionstring "Host=mytargetserver;Database=mytargetdb;Username=TargetUser;Password=TargetPassword;SSL Mode=Require"
...
Syntax:
- Short form:
-g "connection_string" - Long form:
--targetconnectionstring "connection_string"
Complete Example: Source to Target
Here's a complete example showing connection parameters for both source (PostgreSQL) and target (SQL Server):
./FastTransfer \
--sourceconnectiontype pgsql \
--sourceserver "pgserver.example.com" \
--sourceuser "pguser" \
--sourcepassword "pgpass123" \
--sourcedatabase "sourcedb" \
--sourceschema "public" \
--sourcetable "customers" \
--targetconnectiontype mssql \
--targetserver "sqlserver.example.com" \
--targetuser "sqluser" \
--targetpassword "sqlpass456" \
--targetdatabase "targetdb" \
--targetschema "dbo" \
--targettable "customers"
The target table must already exist with a compatible schema. FastTransfer does not automatically create target tables. Ensure column data types are compatible between source and target databases.