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
| Property | Value |
|---|---|
| AreTableHintsSupported | false |
| ClosingQuote | " |
| DefaultSchema | null |
| IsAffectedRowsSupported | true |
| IsDirectionSupported | false |
| IsExecuteReaderDisposable | true |
| IsMultiStatementExecutable | false |
| IsPreparable | true |
| IsTransactionSupported | true |
| IsUseUpsert | false |
| MaxParameterCount | 2098 |
| MultiStatementSeparator | ; |
| OpeningQuote | " |
| ParameterPrefix | : |
| RequiresDbTypeBeforeValue | false |
| SkipsUnreferencedParameters | false |
| SqlTextParameterPrefix | : |
IsMultiStatementExecutableisfalse— SAP HANA’s ADO.NET client rejects a command text containing more than one SQL statement. Unlike VerticaDbSetting, there is noIsInsertAllBatchableoverride here, so InsertAll/MergeAll/UpdateAll all issue one round trip per row; passing an explicitbatchSizegreater than1to any of them throws aNotSupportedException.
Unlike Firebird, Oracle, and Vertica, no
TrimTrailingSemicolonstep 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);