Batch import XML files to SQL Server tables

by

Want to bulk import XML files into SQL Server tables at one time?

Try Withdata FileToDB, a desktop XML to SQL Server converter for Windows, MacOS, and Linux, Convert XML to SQL Server, Easy and Fast.

Download Withdata FileToDB Download FileToDB

Bulk import XML files into SQL Server tables

Login to SQL Server -> Choose XML files -> Set SQL Server tables -> Import XML files to SQL Server tables

Choose SQL Server and logon.

bulk import XML files into SQL Server tables - Choose SQL Server and logon

Click “Wizard – N Files To N Tables” at task dialog.

bulk import XML files into SQL Server tables - task window

Select the “XML” file type.

bulk load XML files into SQL Server tables - select file type

then show the wizard.

1. Select a folder that constains XML files.

bulk import XML files into SQL Server tables - select a folder

2. Config first XML file importing options.

bulk import XML files into SQL Server tables - config first file

3. Set “Import Type”.

bulk import XML files into SQL Server tables - set tables

4. Map SQL Server tables to XML files.

bulk import XML files into SQL Server tables - map

5. Summary. Set “Convert Rows” and “Skip Rows” if need.

bulk import XML files into SQL Server tables - preview

6. Import XML files to SQL Server tables, 1 file to 1 table, one by one.

bulk import XML files into SQL Server tables - import data

View imported data in SQL Server table

bulk import XML files into SQL Server tables - view data


More about XML to SQL Server converter

See also:

XML → SQL Server reference

Type mapping

Value kindin XMLin SQL Server
Int<int>1234</int>int
Bigint<bigint>9007199254740993</bigint>bigint
Decimal<decimal>1234.56</decimal>decimal(p,s)
Float<float>1.234e10</float>float
Text<char>text</char>nvarchar(n)
Long text<text>multi-line text</text> (entities for &amp; &lt;)nvarchar(max)
Date<date>2026-09-18</date> (xs:date with an XSD)date
Datetime<datetime>2026-09-18T14:30:00Z</datetime> (xs:dateTime)datetime2
Binary<blob>base64...</blob> (xs:base64Binary)varbinary(max)
Boolean<bool>true</bool>bit
JSONescaped inside an element, or its own sub-treenvarchar(max)

Dialect differences

XML 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 XMLin SQL Server
port—1433
identifiersAttribute values in quotes; entities (&amp; &lt; &gt;) for ...[square brackets]
row limit—SELECT TOP n
datesText (xs:date / xs:dateTime when an XSD is in play)datetime, datetime2, date, time
long text—nvarchar(max)
binarybase64Binary / hexBinary inside textvarbinary(max)
separatorTags, not delimiters—
encodingDeclared in the XML declaration—
typingNone in the markup itself—
shapeArbitrary treeTables 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.