Withdata Software

Import data from TXT to SQL Server via command line on MacOS

Want to import data from TXT file to SQL Server via Command Line Interface (CLI) on MacOS?

Using mssql-cmd, a Command Line Interface (CLI) client for SQL Server, you can import data from TXT file to SQL Server easily and fast. Direct Interaction or Scripting and Automation.

Download mssql-cmd Macos version
mssql-cmd.darwin-amd64.zip
mssql-cmd.darwin-arm64.zip

Import data from TXT file to SQL Server via command line on MacOS

1. In interactive mode:

mssql-cmd> load loadtype=replace
      > table=media_messages 
      > datafile=/data/media_messages.txt 
      > delimiter=, 
      > quote=" 
      > header=y;

2. In batch mode:

mssql-cmd dsn="pan:withdata@192.168.0.102/test" task=load loadtype=replace table=media_messages datafile=/data/media_messages.txt delimiter=, quote=" header=y quit=y

“loadtype=replace” will delete all data in table before inserting.

See parameters detail.


More about mssql-cmd – Command Line Interface (CLI) tool for SQL Server

Download mssql-cmd Macos version
mssql-cmd.darwin-amd64.zip
mssql-cmd.darwin-arm64.zip

TXT → SQL Server reference

Type mapping

Value kindin TXTin SQL Server
Int1234, or right-aligned in a fixed-width columnint
Bigint9007199254740993bigint
Decimal1234.56decimal(p,s)
Float1.234e+10float
Textwritten as-is; padding depends on the chosen layoutnvarchar(n)
Long textwritten as-isnvarchar(max)
Datewhatever the writer chosedate
Datetimewhatever the writer chosedatetime2
Binarynot representablevarbinary(max)
BooleanY / N, or 1 / 0, or TRUE / FALSEbit

Dialect differences

TXT is a file format and SQL Server is a database server, so the target has to be told the types the file never carried - the rows below are where the two sides diverge.

Propertyin TXTin SQL Server
port—1433
identifiersNone by convention[square brackets]
row limit—SELECT TOP n
datesWhatever the writer produced; no convention is guaranteeddatetime, datetime2, date, time
long text—nvarchar(max)
binaryNot supportedvarbinary(max)
separatorWhatever was chosen - often fixed column widths—
encodingNo declaration - UTF-8 works only with a BOM—
typingNone - every field is text—
shapeFree form; a parser has to be told the layoutTables of rows and columns
ceilingNo formal limit—

Command line

SideCommand
SQL Serverbcp
SQL Server (load)bcp, or BULK INSERT

Convert your data online, free

Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.