Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant enhancements to the Bulk Copy Program (BCP) functionality in the
mssql_python
library, including the addition of new classes, methods, and configuration options to support bulk data operations. It also includes updates to data files and format files to facilitate testing and integration.Enhancements to BCP functionality:
New
BCPClient
class for bulk copy operations:BCPClient
inmssql_python/bcp_main.py
to manage bulk copy operations using the BCP utility. This includes initialization, validation, and execution of BCP operations with detailed logging.Updates to
BCPOptions
andColumnFormat
classes:ColumnFormat
with new attributes such asuser_data_type
andcol_name
, along with default values forprefix_len
anddata_len
.in
,out
,format
,query
) and file modes (native
,char
,unicode
) inBCPOptions
.Integration and usage:
New
main_bcp.py
script:Initialization of BCP components:
mssql_python/__init__.py
to include imports forBCPClient
,BCPOptions
, andColumnFormat
.Data and format file updates:
Employee data file (
EmployeeFullNames.bcp
):Format files:
EmployeeFullNames.fmt
andTestBCP.fmt
to define data structure and encoding for bulk operations. [1] [2]Unicode data file (
data_unicode.csv
):