A project to wrap FastTransfer and FastBCP in a CLR Assembly and allow to call them from T-SQL using extended store procedure. As a reminder :
- FastTransfer is a CLI that allow import from file or transfer data between databases using streaming and parallel mecanism for high performance
- FastBCP is a CLI that allow to export data from databases to files (csv, parquet, json,bson and excel) using streaming and parallel mecanism for high performance
Samples usage :
-- use SELECT [dbo].[EncryptString]('<YourPassWordToEncrypt>') to get the encrypted password
EXEC dbo.xp_RunFastTransfer_secure
@fastTransferDir='C:\FastTransfert\win-x64\latest',
@sourceConnectionType = N'mssql',
@sourceServer = N'localhost',
@sourceUser = N'FastUser',
@sourcePasswordSecure = 'wi1/VHz9s+fp45186iLYYQ==',
@sourceDatabase = N'tpch_test',
@sourceSchema = N'dbo',
@sourceTable = N'orders',
@targetConnectionType = N'msbulk',
@targetServer = N'localhost\SS2025',
@targetUser = N'FastUser',
@targetPasswordSecure = 'wi1/VHz9s+fp45186iLYYQ==',
@targetDatabase = N'tpch_test',
@targetSchema = N'dbo',
@targetTable = N'orders_3',
@loadMode = N'Truncate',
@batchSize = 130000,
@method = N'RangeId',
@distributeKeyColumn = N'o_orderkey',
@degree = 12,
@mapmethod = 'Name',
@runId = N'CLRWrap_Run_MS2MS_20250328'
-- use SELECT [dbo].[EncryptString]('<YourPassWordToEncrypt>') to get the encrypted password
EXEC dbo.xp_RunFastTransfer_secure
@fastTransferDir = 'C:\FastTransfer\win-x64\latest',
@sourceConnectionType = 'mssql',
@sourceServer = 'localhost',
@sourceUser = 'FastUser',
@sourcePasswordSecure = 'wi1/VHz9s+fp45186iLYYQ==',
@sourceDatabase = 'tpch_test',
@sourceSchema = 'dbo',
@sourceTable = 'orders',
@targetConnectionType = 'msbulk',
@targetServer = 'localhost\SS2025',
@targetUser = 'FastUser',
@targetPasswordSecure = 'wi1/VHz9s+fp45186iLYYQ==',
@targetDatabase = 'tpch_test',
@targetSchema = 'dbo',
@targetTable = 'orders_3',
@loadmode = 'Truncate',
@batchSize = 130000,
@method = 'RangeId',
@distributeKeyColumn = 'o_orderkey',
@degree = 12,
@mapmethod = 'Name',
@runId = 'test_MSSQL_to_MSSQL_P12_RangeId'
@mapmethod = 'Name',
@runId = N'CLRWrap_Run_ORA2MS_20250328'