Connection Properties

All RDBMS data sources use ConnectionProperties (TheTechIdea.Beep.ConfigUtil). Required fields:

PropertyRequiredExampleNotes
DataSourceType✅SqlServerMust match an [AddinAttribute] DataSourceType
ConnectionName✅MyProdDBDisplay name in Beep tree
Host✅localhost or IPOmit for file-based DBs (SQLite)
Port🟡1433Default varies by engine
Database✅AdventureWorksDatabase/catalog name
UserID🟡saOmit for integrated/windows auth
Password🟡—Stored encrypted in Beep config
SchemaName🟡dboDefaults to engine-specific (dbo, public, etc.)
ConnectionString🟡Full ADO.NET stringOverrides host/port/db/user/password if set

Driver Configuration

Database drivers are resolved via DataSourceDriver entries in Beep config. The RDBSource uses DMEEditor.assemblyHandler.GetInstance(DataSourceDriver.DbConnectionType) to instantiate the ADO.NET connection at runtime.

EngineDbConnectionTypeDefault Port
SQL ServerMicrosoft.Data.SqlClient.SqlConnection1433
MySQLMySql.Data.MySqlClient.MySqlConnection3306
PostgreSQLNpgsql.NpgsqlConnection5432
OracleOracle.ManagedDataAccess.Client.OracleConnection1521
SQLiteMicrosoft.Data.Sqlite.SqliteConnection—

Resilience Settings

Configured via properties on RDBSource:

SettingDefaultDescription
EnableResiliencetrueEnable Polly retry + circuit breaker
MaxRetryAttempts3Exponential backoff retries
RetryBaseDelay1sBase delay before first retry
CircuitBreakerThreshold5Failures before opening circuit
CircuitBreakerDuration30sTime circuit stays open
HealthCheckTimeout5sTimeout for connection health ping

Cache Settings

SettingDefaultDescription
EnableResultCachefalseEnable MemoryCache for query results
Result cache TTL5 minSliding expiration per cached entry
Result cache size limit1024 entriesMemoryCache size limit
Query cacheAlways onConcurrentDictionary for compiled queries
Note

EnableResultCache is false by default for backward compatibility. Enable it for read-heavy workloads where stale data is acceptable within the TTL window.

Bulk Operation Settings

SettingDefaultDescription
DefaultBatchSize1000Rows per batch in bulk operations
MaxParametersPerBatch2000Max parameters per SQL batch (DB limits vary)
EnableBulkOptimizations—Use multi-row INSERT when available
UseBulkTransactions—Wrap batch operations in transactions
Transaction Warning

Bulk operations can use transactions for atomicity, but the Commit() method is currently a stub. Verify transaction support before relying on UseBulkTransactions.