Import data from JSON to SQL Server via command line on Windows

Want to import data from JSON Lines (JSONL) to SQL Server via Command Line Interface (CLI) on Windows?

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

  • No need to install SQL Server client library.
  • Convenient to deploy to cloud. No need to run installation file, just uncompress and run, immediately.
  • Commands are entered into a terminal or command prompt, accessed from local or remote (like SSH).
  • Support Windows, Linux, and MacOS.

Download mssql-cmd Windows version Download mssql-cmd

JSON Lines text format, also called newline-delimited JSON (NDJSON), or Line-delimited JSON (LDJSON). JSON Lines files may be saved with the file extension .jsonl, *.ndjson, *.ldjson.

Import data from JSON Lines to SQL Server via command line on Windows

1. In interactive mode:

mssql-cmd> load table=media_messages 
      > datafile=f:\media_messages.json 
      > filetype=json;

2. In batch mode:

mssql-cmd dsn="pan:withdata@192.168.0.102:3306/test" task=load table=media_messages datafile=f:\media_messages.json filetype=json 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 Windows versionDownload mssql-cmd

JSON → SQL Server reference

Type mapping

Value kindin JSONin SQL Server
Int1234 (number)int
Bigint9007199254740993bigint
Decimal1234.56 (number)decimal(p,s)
Float1.234e10 (number)float
Text"text" (string)nvarchar(n)
Long text"multi-line\ntext" (escaped newline inside a string)nvarchar(max)
Date"2026-09-18" (string)date
Datetime"2026-09-18T14:30:00Z" (string)datetime2
Binary"base64:..." (string)varbinary(max)
Booleantrue / false (boolean)bit
JSONnested object or array, kept as structurenvarchar(max)

Dialect differences

JSON 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 JSONin SQL Server
port—1433
identifiersDouble quotes; backslash escapes[square brackets]
row limit—SELECT TOP n
datesNo date type: dates arrive as strings and the reader must p...datetime, datetime2, date, time
long text—nvarchar(max)
binaryNot supported natively - base64 inside a stringvarbinary(max)
separatorBraces and commas—
encodingUTF-8 by definition—
typingstring, number, boolean, null, object, array - no date type—
shapeNested objects and arraysTables of rows and columns
ceilingWhole document is usually parsed into memory—

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.


Posted

in

by