private void HandleBcp(SqlGenerator sqlGenerator, BcpGenerator bcpGenerator, TableMappingDefinition mappingDefinition, Dictionary<string, string> bcpExportCommands, Dictionary<string, string> bcpImportCommands) { Logger.Info("Handling BCP"); SourceTable srcTable = mappingDefinition.SourceTable; DestinationTable destTable = mappingDefinition.DestinationTable; string bcpPackagePath = Path.Combine(_packageOutputPath, CONVERSION_PACKAGE_FOLDER); // Generate and save format file Logger.Info("Generating BCP format file for EXPORT"); string bcpExportFormatFile = bcpGenerator.GenerateFormatFile(BcpDirection.Export); string exportFmtFileName = string.Format("{0}_EXPORT.fmt", destTable.Name); string exportFmtFilePath = Path.Combine(CONVERSION_PACKAGE_FOLDER, exportFmtFileName); SaveToFile(bcpPackagePath, exportFmtFileName, bcpExportFormatFile); Logger.Info("Generating BCP format file for IMPORT"); string bcpImportFormatFile = bcpGenerator.GenerateFormatFile(BcpDirection.Import); string importFmtFileName = string.Format("{0}_IMPORT.fmt", destTable.Name); string importFmtFilePath = Path.Combine(CONVERSION_PACKAGE_FOLDER, importFmtFileName); SaveToFile(bcpPackagePath, importFmtFileName, bcpImportFormatFile); // Generate export, import commands Logger.Info("Generating BCP Export/Import commands"); string bcpSelect = sqlGenerator.GenerateSelectStatement(); string dataFileName = string.Format("{0}-{1}_BCP.txt", srcTable.Name, destTable.Name); string dataFilePath = Path.Combine(CONVERSION_PACKAGE_FOLDER, dataFileName); File.Create(Path.Combine(_packageOutputPath, dataFilePath)); var bcpExportCommand = bcpGenerator.GenerateExportCommand(bcpSelect, exportFmtFilePath, dataFilePath); bcpExportCommands.Add(dataFileName, bcpExportCommand); var bcpImportCommand = bcpGenerator.GenerateImportCommand(importFmtFilePath, dataFilePath); bcpImportCommands.Add(dataFileName, bcpImportCommand); }