Icon EDBConnectionStringBuilder Class

The EDBConnectionStringBuilder class implements the DbConnectionStringBuilder class and provides a strongly-typed object for building an ElevateDB connection string.

Namespace: Elevate.ElevateDB.Data

Inherits From System.Data.Common.DbConnectionStringBuilder

Constructor
(<No Parameters>)

Properties
PropertyDescription
Name: StringThis value specifies the name of the connection.
Description: StringThis value specifies the description of the connection.
CharSetThis string value specifies which character set, "ANSI" or "Unicode", to use for the connection. For remote connections to an ElevateDB Server, the value must match the character set being used by the ElevateDB Server. This property defaults to "Unicode".
Type: StringThis value is set to either "Local" if the connection is accessing the database directly, or "Remote" if the connection is accessing the database remotely via an ElevateDB Server.
ConfigMemory: BooleanThis value specifies whether the configuration file used by the connection will be located in the process memory ("virtual") or on disk. Specify True to use a virtual configuration file, or False (the default) to use a disk-based configuration file in the location specified by the ConfigPath property value (see below). The configuration file in ElevateDB stores the contents of the system-defined Configuration Database. Please see the Architecture for more information on configuration files.
ConfigPath: StringThis value specifies the configuration path to use for the connection. The configuration file in ElevateDB stores the contents of the system-defined Configuration Database. Please see the Architecture for more information on the configuration path.
TempPath: StringThis value specifies the temporary tables path to use for the connection. The temporary tables path is used to store any temporary tables generated during query execution. The default value is the operating system setting for the storing temporary files for the current user. Please see the Architecture for more information on the temporary tables path.
KeepTablesOpen: BooleanThis value specifies whether tables should be kept open for the duration of the connection once they have been opened at least once. Specify True to keep tables open, or False (the default) to have tables opened and closed on demand. Setting this value to True can result in improved performance, especially with applications that execute many singleton SQL statements in a row.
ConfigName: StringThis value specifies the root name (without extension) used by the connection for the configuration file. The default value is "EDBConfig". The extension used for the configuration file is determined by the ConfigExt property value. The location of the configuration file is determined by the ConfigPath property value.
ConfigExt: StringThis value specifies the extension used by the connection for the configuration file. The default value is ".EDBCfg". The root name (without extension) used for the configuration file is determined by the ConfigName property value. The location of the configuration file is determined by the ConfigPath property value.
LockExt: StringThis value specifies the extension used by the connection for both the configuration and database catalog lock files. The default value is ".EDBLck". The root name (without extension) used for the configuration lock file is determined by the ConfigName property value. The root name (without extension) used for a database catalog lock file is determined by the CatalogName property value. The location of the configuration lock file is determined by the ConfigPath property value, and the configuration lock file is hidden, by default. The location of a database catalog lock file is determined by the path designated for the applicable database when the database was created, and a database catalog lock file is hidden, by default.
LogExt: StringThis value specifies the extension used by the connection for the configuration log file. The default value is ".EDBLog". The root name (without extension) used for the configuration log file is determined by the ConfigName property value. The location of the configuration log file is determined by the ConfigPath property value.
MaxLogSize: Int32This value specifies the maximum size of the log file (in bytes) that the log file can grow to. Log entries are added to the log in a circular fashion, meaning that once the maximum log file size ia reached, ElevateDB will start re-using the oldest log entries for new log entries. The default value is 1048576 bytes. Which types of logged events are recorded in the log can be controlled by the LogCats property value. By default, all categories of events are logged (Info, Warn, and Error).

Warning It is very important that all connections and/or applications accessing the same configuration file use the same maximum log file size for the configuration log file. Using different values can result in log entries being prematurely overwritten or appearing "out-of-order" when viewing the log entries via the LogEvents Table.
LogCats: StringThis value specifies the types of events that should be logged in the configuration log file for the current connection, with each value separated by a comma (,). The default value is "Info,Warn,Error", or all categories of events.
CatalogName: StringThis string value specifies the root name (without extension) used by the connection for all database catalog files. The default value is "EDBDatabase". The extension used for the catalog files is determined by the CatalogExt property value. The location of the catalog file is determined by the path designated for the applicable database when the database was created.
CatalogExt: StringThis value specifies the extension used by the connection for database catalog files. The default value is ".EDBCat". The root name (without extension) used for all database catalog files is determined by the CatalogName property value. The location of the catalog file is determined by the path designated for the applicable database when the database was created.
BackupExt: StringThis value specifies the extension used by the connection for database backup files. The default value is ".EDBBkp". The root name (without extension) used for a database backup file is determined by the name given when the BACKUP DATABASE statement is executed.
UpdateExt: StringThis value specifies the extension used by the connection for database update files. The default value is ".EDBUpd". The root name (without extension) used for a database update file is determined by the name given when the SAVE UPDATES statement is executed.
TableExt: StringThis value specifies the extension used by the connection for database table files. The default value is ".EDBTbl". The root name (without extension) used for a table file is determined by the name given when the CREATE TABLE statement is executed. The location of the table files is determined by the path designated for the applicable database when the database was created.
IndexExt: StringThis value specifies the extension used by the connection for database table index files. The default value is ".EDBIdx". The root name (without extension) used for a table's index file is determined by the name given when the CREATE TABLE statement is executed. The location of the table index files is determined by the path designated for the applicable database when the database was created.
BlobExt: StringThis string value specifies the extension used by the connection for database table BLOB files. The default value is ".EDBBlb". The root name (without extension) used for a table's BLOB file is determined by the name given when the CREATE TABLE statement is executed. The location of the table BLOB files is determined by the path designated for the applicable database when the database was created.
PublishExt: StringThis string value specifies the extension used by the connection for database table publish files. The default value is ".EDBPbl". The root name (without extension) used for a table's publish file is determined by the name given when the CREATE TABLE statement is executed. The location of the table publish files is determined by the path designated for the applicable database when the database was created.
UID: StringThis value specifies the user ID to use when connecting to the connection. If this value is left blank, the user will be prompted for the user ID, if possible. When executing in environments that don't support a user interface, such as web applications, it is not possible to display a login dialog and an error will be raised instead.
PWD: StringThis string value specifies the password to use when connecting to the connection. If this value is left blank, the user will be prompted for the password, if possible. When executing in environments that don't support a user interface, such as web applications, it is not possible to display a login dialog and an error will be raised instead.
Database: StringThis string value specifies the name of the database being accessed with the connection. Please see the Architecture for more information on databases.
ReadOnly: BooleanThis value specifies whether the connection is read-only or read-write. Set this value to True to make the connection read-only, and False to make the connection read-write.
RowLockProtocol: StringThis value specifies which row locking protocol to use. Set this value to "Pessimistic" to specify that all UPDATE row locks should be acquired when the rows are read during the process of the UPDATEs. Set this value to "Optimistic" to specify that all UPDATE row locks should only be acquired when the rows are actually being updated. Please see the Locking and Concurrency topic for more information.
RowLockRetries: Int32This value specifies the number of row lock attempts that the data provider should make before issuing an error. The default is 15.
RowLockWait: Int32This value specifies the amount of time (in milliseconds) to wait between each row lock attempt. The default is 100.
DetectRowChanges: BooleanThis value specifies whether the data provider should issue an error when a row is updated and the row has changed since it was last cached. Specify True to enable row change detection, or False (the default) to disable row change detection. Please see the Change Detection topic for more information.
CatalogInfo: BooleanThis value specifies whether database catalog character set and version information should appear in the Databases system information table. The default value of this property is True.

Information Setting this property to False can significantly improve the performance of the loading of the Databases system information table when there are a lot of databases in a configuration. This is because ElevateDB has to open the database catalog for each database in order to read the character set and version number.
CacheModules: BooleanThis string value specifies whether module DLLs should be cached in memory for the duration of the connection. The default value is False.
StmtCacheSize: IntegerThis value specifies how many SQL statements can be cached in memory for the duration of the connection. Caching SQL statements improves the performance of ElevateDB by avoiding very expensive preparation/un-preparation cycles. The default value is 0, which means that SQL statements will not be cached for the connection.

Information The maximum number of open SQL statements per connection is 2048, so you should not set the statement cache size that high. Also, the SQL statement cache size is a per-open-database setting.
ProcCacheSize: IntegerThis value specifies how many functions/procedures can be cached in memory for the duration of the connection. Caching functions/procedures improves the performance of ElevateDB by avoiding very expensive preparation/un-preparation cycles. The default value is 0, which means that functions/procedures will not be cached for the connection.

Information The maximum number of open functions/procedures per connection is 2048, so you should not set the procedure cache size that high. Also, the function/procedure cache size is a per-open-database setting.
FlushWrites: BooleanThis value controls whether the data provider forces the operating system to flush any buffered writes to disk immediately after the data is written to the operating system. If the value is False (the default), then ElevateDB will leave the flushing up to the operating system. If it is True, then ElevateDB will force a buffer flush after every write. Please see the Buffering and Caching topic for more information.
Host: StringThis value specifies the host name of the ElevateDB Server machine that you are accessing. Either the Host or Address property values must be populated along with the Service or Port property values in order to correctly access a database on an ElevateDB Server. The default value is "".
Address: StringThis value specifies the IP address of the ElevateDB Server machine that you are accessing. Either the Host or Address property values must be populated along with the Service or Port property values in order to correctly access a database on an ElevateDB Server. The default value is "127.0.0.1".
Service: StringThis value specifies the service name of the ElevateDB Server machine that you are accessing. Either the Host or Address property values must be populated along with the Service or Port property values in order to correctly access a database on an ElevateDB Server. The default value is "".
Port: Int32This value specifies the port number of the ElevateDB Server machine that you are accessing Either the Host or Address property values must be populated along with the Service or Port property values in order to correctly access a database on an ElevateDB Server. The default value is 12010.
ConnectionTimeout: Int32This value specifies the maximum amount of time, in seconds, that ElevateDB will wait for a successful connection before aborting the connection attempt. The default value is 15 (seconds).
Ping: BooleanThis value specifies whether pinging will be enabled for the connection to the ElevateDB Server. When pinging is enabled, the data provider will send a keep-alive request to the ElevateDB Server in the interval specified by the PingInterval property value. This prevents the ElevateDB Server from disconnecting and/or removing the connection, even if the connection has been idle for a very long period of time. Please see the Server Session Timeout configuration item in the Starting and Configuring the ElevateDB Server topic for more information on how idle connections are handled. Specify True to enable pinging, or False (the default) to disable pinging.
PingInterval: Int32This value specifies how often the connection will ping the ElevateDB Server when pinging is enabled via the Ping property value. The default value is 60 (seconds).
Timeout: Int32This value specifies how long the connection will wait on a response from the ElevateDB Server before disconnecting and issuing an error. The default value is 180 (seconds).
Encrypted: BooleanThis value specifies whether the connection to the ElevateDB Server should be encrypted or no. Specify True to enable encryption for the connection, or False (the default) to disable encryption for the connection.
EncryptSrvPwd: StringThis value specifies the password to use for encrypted connections to the remote ElevateDB Server, as well as for encrypting logins to the remote ElevateDB Server. This password must match the configured encryption password for the remote ElevateDB Server, and you should only specify this value if you know exactly what you are doing and need to use a different encryption password than the default of "elevatesoft".
Compression: Int32This value specifies the amount of compression to use when communicating with the ElevateDB Server. The default value is 0, or no compression. A value of 1 to 10 specifies the amount of compression from fast, but not very thorough, to very thorough, but not as fast. A value of 6 specifies a balance between size and speed, and represents the ideal level for most applications.

Information The ElevateDB .NET Data Provider will automatically adjust this value for situations where the existing compression level is not ideal, such as in cases where the amount of data being sent is so small that it is of no benefit to compress the data.
Signature: String This value specifies the signature to use for the connection. A signature is used to "sign" all configuration and database files created by ElevateDB so that they are only accessible using that signature, as well as "signing" all communications with a remote ElevateDB Server. You should only specify this value if you know exactly what you are doing and need to use a different signature than the default of "edb_signature".
EncryptPwd: StringThis value specifies the password to use for encrypting any local engine files. You should only specify this value if you know exactly what you are doing and need to use a different encryption password than the default of "elevatesoft".
Image