Link Search Menu Expand Document

SapHanaDbSetting


This class is the BaseDbSetting-derived implementation for SAP HANA. It is automatically registered by SapHanaBootstrap — you do not need to instantiate it directly under normal use.

Configured Values

PropertyValue
AreTableHintsSupportedfalse
ClosingQuote"
DefaultSchemanull
IsAffectedRowsSupportedtrue
IsDirectionSupportedfalse
IsExecuteReaderDisposabletrue
IsMultiStatementExecutablefalse
IsPreparabletrue
IsTransactionSupportedtrue
IsUseUpsertfalse
MaxParameterCount2098
MultiStatementSeparator;
OpeningQuote"
ParameterPrefix:
RequiresDbTypeBeforeValuefalse
SkipsUnreferencedParametersfalse
SqlTextParameterPrefix:

IsMultiStatementExecutable is false — SAP HANA’s ADO.NET client rejects a command text containing more than one SQL statement. Unlike VerticaDbSetting, there is no IsInsertAllBatchable override here, so InsertAll/MergeAll/UpdateAll all issue one round trip per row; passing an explicit batchSize greater than 1 to any of them throws a NotSupportedException.

Unlike Firebird, Oracle, and Vertica, no TrimTrailingSemicolon step is needed anywhere in SapHanaStatementBuilder — SAP HANA’s ADO.NET client accepts a single trailing ; on an otherwise-standalone statement; it only rejects multiple statements in one command text.

Usability

Use DbSettingMapper to override it with a custom implementation.

DbSettingMapper.Add(typeof(HanaConnection), new MyCustomSapHanaDbSetting(), true);