Skip to main content
Version: 1.5

SQL Server (ADBC) → Parquet

Datatypes conversion mapping when exporting from SQL Server using the ADBC connector (--connectiontype adbc_mssql) to Parquet format.

Platform availability

The ADBC FastDriver connectors (adbc_mssql, adbc_pgsql) are available on Windows x64 and Linux x64 only. They are not supported on Linux ARM64.

info

The ADBC connector does not map every type the way the standard mssql driver does. Compare both pages before switching.

SourceSQL Server (adbc_mssql)
FormatParquet
FastBCP1.5.0.0 (ArpeMSSQL 0.7.8)
Test StatusOK (31/31 Nullable)
Since FastBCP 1.5
  • sql_variant is exported (as text); it failed in 1.4.
  • time(7), datetime2(7) and datetimeoffset(7) are written with a microsecond unit by default (the 7th digit is dropped), so that older readers (Spark before 3.x) can read the files. Add adbc.arpemssql.timestamp_precision=nanosecond to --sourceconnectstring to keep the 100 ns resolution (nanosecond unit).
  • geography and geometry are converted to WKB with GeoParquet metadata (geo key: WKB encoding, spherical edges for geography), so Parquet readers see them as geometries. adbc.arpemssql.geospatial=wkb gives plain WKB without the metadata, varbinary the SQL Server serialization.

Parquet Schema: testdatatypes_nullable​

namephysical_typeconverted_typelogical_type
col_bigintINT64——
col_intINT32——
col_smallintINT32INT_16IntType(bitWidth=16, isSigned=1)
col_tinyintINT32UINT_8IntType(bitWidth=8, isSigned=0)
col_bitBOOLEAN——
col_decimalFIXED_LEN_BYTE_ARRAYDECIMALDecimalType(scale=2, precision=18)
col_numericFIXED_LEN_BYTE_ARRAYDECIMALDecimalType(scale=2, precision=18)
col_moneyFIXED_LEN_BYTE_ARRAYDECIMALDecimalType(scale=4, precision=19)
col_smallmoneyFIXED_LEN_BYTE_ARRAYDECIMALDecimalType(scale=4, precision=10)
col_floatDOUBLE——
col_realFLOAT——
col_dateINT32DATEDateType()
col_timeINT64—TimeType(isAdjustedToUTC=0, unit=MICROS)
col_datetimeINT64TIMESTAMP_MILLISTimestampType(isAdjustedToUTC=0, unit=MILLIS)
col_datetime2INT64TIMESTAMP_MICROSTimestampType(isAdjustedToUTC=0, unit=MICROS)
col_datetimeoffsetINT64TIMESTAMP_MICROSTimestampType(isAdjustedToUTC=1, unit=MICROS)
col_smalldatetimeINT64TIMESTAMP_MILLISTimestampType(isAdjustedToUTC=0, unit=MILLIS)
col_charBYTE_ARRAYUTF8StringType()
col_varcharBYTE_ARRAYUTF8StringType()
col_ncharBYTE_ARRAYUTF8StringType()
col_nvarcharBYTE_ARRAYUTF8StringType()
col_textBYTE_ARRAYUTF8StringType()
col_ntextBYTE_ARRAYUTF8StringType()
col_binaryBYTE_ARRAY——
col_varbinaryBYTE_ARRAY——
col_imageBYTE_ARRAY——
col_uniqueidentifierBYTE_ARRAYUTF8StringType()
col_xmlBYTE_ARRAYUTF8StringType()
col_geographyBYTE_ARRAY—— (WKB, GeoParquet geo metadata, spherical edges)
col_geometryBYTE_ARRAY—— (WKB, GeoParquet geo metadata)
col_sql_variantBYTE_ARRAYUTF8StringType()
Copyright © 2026 Architecture & Performance.