Содержание
1.9. Тонкие настройки подключения к базе данных
По умолчанию программа Fox Manager уже настроена таким образом, чтобы максимально облегчить подключение к базе данных. Типовые настройки подходят для 95% пользователей, однако бывают ситуации, когда специфические настройки сервера или языковые настройки системы приводят к тому, что пользователи начинают испытывать проблемы с подключением или работой с базой данных.
Длина текстовых колонок в БД
По умолчанию текстовые строки записываются в базу данных как varchar(255), что обычно соответствует 255 символам текста (кроме таких баз данных, как Oracle, где используется длина в 255 байт, а при использовании Unicode один символ может занимать до 3 байт).
Обычно такого количества символов хватает, чтобы уместить туда названия функций, процессов, документов и др. элементов справочников программы. Но, при необходимости, вы можете изменить это значение, задав свою длину строк.
Для этого необходимо отредактировать файл Settings.ini, который находится в папке C:\Users\<имя пользователя>\AppData\Roaming\Fox Manager\
Измените значение параметра DefaultStringColWidth=255 в разделе [Settings].
Для корректной работы необходимо изменить это значение для всех пользователей программы (отредактировать файлы Settings.ini в их папках). Если значение было изменено уже после того, как база данных была создана, то изменять структуру таблиц в базе данных для текстовых полей необходимо будет вручную, для соответствия заданному параметру.
Не рекомендуем без необходимости менять это значение, а особенно, уменьшать значение ниже 255, так как это может привести к проблемам с совместимостью с будущими версиями программы.
Проблемы с кодировкой
Иногда несоответствие кодировки, используемой сервером БД и программой, приводит к тому, что вместо букв отображаются специфические символы или знаки вопроса «???????».
В случае возникновения подобных проблем следует прибегнуть к тонкой настройке соединения программы с базой данных. Параметры этих настроек находятся в файле Connection.ini, который расположен в папке: C:\Users\<имя пользователя>\AppData\Roaming\Fox Manager\
Откройте данный файл, например, в блокноте и отредактируйте параметры настроек подключения. Обратите внимание, что для каждого типа базы данных в файле Connection.ini существует свой раздел. Чтобы решить проблемы с кодировкой в большинстве случае достаточно изменить значение параметра UseUnicode с False на True.
Проблемы при одновременном доступе к базе SQLite
База данных SQLite является файловой и рекомендуется для работы одного пользователя, если вы планируете активно пользовать программой одновременно с нескольких рабочих мест и держать активными сразу несколько соединений с базой данных, то рекомендуем использовать клиент-серверную базу, например, PostgreSQL, MySQL, MS SQL Server и пр. Тем не менее, база данных SQLite позволяет организовать одновременную работу нескольких пользователей, для этого достаточно выставить следующие параметры в файле Connection.ini для типа базы [SQLite]:
- BusyTimeout = 5000
- LockingMode = lmNormal
- Synchronous = smExtra
Проблемы при подключении к базе MySQL 8.x
Наша программа полностью совместима с новой версией базы данных MySQL 8, однако, иногда могут потребоваться дополнительные настройки со стороны программы или сервера базы данных. Если вам не удаётся выполнить подключение к базе данных, то попробуйте воспользоваться следующими рекомендациями:
- Установите в настройках сервера MySQL 8 опцию «Use Legacy Authentication Method». Иногда для этого нужно запустить установку сервера заново и выбрать «Reconfigure» на странице установки/конфигурации.
- Попробуйте выбрать прямой метод подключения к базе данных. Для этого отредактируйте файл Connection.ini и поставьте значение параметра Direct=True в разделе [MySQL]
- Если подключится к базе прямым методом не удаётся, установите значение параметра Direct=False в разделе [MySQL] и обновите библиотеку доступа (libmysql.dll) до той же версии, которая используется на сервере. Не забывайте, что нужно учитывать разрядность (x86 или x64).
Не забудьте
После сохранения изменений в файле Connection.ini необходимо перезапустить программу Fox Manager, чтобы изменения вступили в силу. Некоторые настройки влияют на структуру базы данных, чтобы они вступили в силу необходимо не только перезапустить программу, но и создать НОВУЮ пустую базы данных.
Обратите внимание, что для корректной работы программы необходимо чтобы настройки подключения к базе данных были идентичными у всех пользователей, которые будут работать с базой данных.
Программа Fox Manager использует компоненты UniDAC для работы с разными типами баз данных. Изменять настройки подключения, которые заданы по умолчанию, нужно только в случае возникновения проблем, или, если Вы чётко понимаете, что именно Вы делаете.
Ниже мы приводим описание параметров подключения из руководства пользователя UniDAC.
Список доступных настроек
DB2-specific options
ColumnWiseBinding | If set to True, the option enables Column-Wise Binding mode. The fefault value is False. Note: Row-Wise Binding mode is enabled by default. However, some ODBC drivers don't support this mode. In such case, set the ColumnWiseBinding option to True. |
ConnectionTimeout | The time to wait for a connection to open before raising an exception. |
FunctionPath | Use the FunctionPath property to change the current function path of the connection to the specified value. You can specify several names separated by comma. This option can be used to call stored procedures from a schema other than that of the current user without having to qualify the objects with the schema name. |
Schema | Use the Schema property to change the current schema of the connection to the specified schema. This setting offers a convenient way to perform operations on objects in a schema other than that of the current user without having to qualify the objects with the schema name. |
UseUnicode | Enables or disables Unicode support. Affects character data fetched from the server. When set to True, all character data is stored as WideStrings, and TStringField is replaced by TWideStringFiled. |
InterBase/Firebird-specific options
CharLength | Specifies the size in bytes of a single character. Set this option with the number in range [0..6] to reflect InterBase support for the national languages. Setting CharLength to zero will instruct TUniConnection to interrogate InterBase server for the actual character length. The default value is 1. |
Charset | Sets character set that IBDAC uses to read and write character data. |
ClientLibrary | Use the ClientLibrary option to set or get the client library location. |
Protocol | Network protocol of connection with InterBase server. The default value is TCP. |
Role | InterBase connection role. |
TrustedAuthentication | Windows «Trusted User» security can be applied for authenticating Firebird users on a Windows host. When the option is set to True, the Firebird security database is ignored during establishing a connection, and only Windows authentication is used. The default value is False More detailed information about this authentication mode is available at http://firebirdsql.org/rlsnotesh/rlsnotes210.html#rnfb210-wintrusted. |
SQLDialect | Use SQLDialect to set or return SQL Dialect used by InterBase client. The SQLDialect property cannot be set to a value greater than the database SQL dialect when the connection is active. If the connection is inactive, the SQLDialect option will be downgraded to match the database SQL dialect. |
UseUnicode | Enables or disables Unicode support. Affects on the character data fetched from the server. When set to True all character data is stored as WideStrings, and TStringField is replaced with TWideStringFiled. |
EnableMemos | If set to True, TMemoField and TWideMemoField will be created for BLOB subtype 1 fields. The default value is False. |
ForceUnloadClientLibrary | Use the option to force unloading of the client library after the connection is closed. The default value is False. |
IPVersion | Use the IPVersion property to specify Internet Protocol Version. Supported values: ivIPBoth (default) Specifies that either Internet Protocol Version 6 (IPv6) or Version 4 (IPv4) will be used. ivIPv4 Specifies that Internet Protocol Version 4 (IPv4) will be used. ivIPv6 Specifies that Internet Protocol Version 6 (IPv6) will be used. Note: Internet Protocol Version support has been added in Firebird 3. To use the IPVersion option, your client library version must be version 3 or higher. When the TIPVersion property is set to ivIPBoth, a connection attempt will be made via IPv6 if it is enabled on the operating system. If the connection attempt fails, a new connection attempt will be made via IPv4. |
NoDBTriggers | Use the option to enable or disable all database triggers. By default, all triggers are enabled. |
Params | The option allows to specify custom parameters of the transaction. Refer to InterBase API Guide for more information on this parameters. Custom parameters will be used only when the TUniTransaction.IsolationLevel property is set to ilCustom. Multiple parameters can be separated either with the CRLF or with the «;» character. |
SimpleNumericMap | Used to create ftBCD fields. When it is set to «False» and EnableBCD to «True», fields like DECIMAL(14, 4) are mapped as ftBCD. The option default value is «True». |
MySQL-specific options
Charset | Setups the character set used by the client. |
Compress | Use compression on transferring data. Setting this property to True is quite effective on transferring big volume data through slow connection. This property is ignored under CLR. The default value is False. |
ConnectionTimeout | Specifies the amount of time in seconds that can be expired before an attempt to make a connection is considered unsuccessful. |
Direct | Works without using MySQL client library (libmysql.dll). Used only if Embedded is disabled. |
Embedded | If True, connects to Embedded MySQL server. If False, connects to MySQL server. The default value is False. |
EmbeddedParams | Allows to set such parameters of embedded connection as –basedir, –datadir, etc. Parameters should be separated with newline characters (#13#10), for example: UniConnection.SpecificOptions.Values['MySQL.EmbeddedPrams'] := '–basedir=.'#13#10'–datadir=data'; The default value is '' |
HttpTrustServerCertificate | This option specifies whether or not the driver should trust the server certificate when connecting to the server. The default value is False – the driver won't trust the server certificate and will verify validity of the server certificate instead. If set to True, the driver will trust the server certificate. |
Interactive | Determines the inactivity timeout before the server breaks the connection. If true, the server breaks the connection after number of seconds specified in interactive_timeout sever variable, otherwise wait_timeout is used. The default value is false. The interactive_timeout and wait_timeout variables can be set in my.ini file. |
IPVersion | Use the IPVersion property to specify the Internet Protocol version. The default value is ivIPv4. ivIPBoth Specifies that either IPv6 or IPv4 Internet Protocol version is used. Note: when the TIPVersion property is set to ivIPBoth, there occurs an attempt to connect via IPv6 (if it is enabled in the OS); if the attempt fails - there occurs an attempt to connect via IPv4. ivIPv4 specifies that the IPv4 Internet Protocol version is used. ivIPv6 specifies that the IPv6 Internet Protocol version is used |
NullForZeroDelphiDate | Use the NullForZeroDelphiDate property to hide the '30-12-1899' dates. If NullForZeroDelphiDate is set to True, the values of all datetime fields will be changed to Null. If the property is set to False, the '30-12-1899' value will be used as an ordinary date. The default value is false. |
OptimizedBigint | Setting this option converts all fields with field length less than 11 of TLargeIntField type into TIntegerField. This allows to process fields that are results of numeric function or cast values as usual Integer fields. The default value is False. |
Protocol | Specifies which protocol to use when connecting to the server: mpDefault similar to mpTCP, except the cases when you connect to a local server and the OS supports sockets (Unix) or named pipes (Windows), they are used instead of TCP/IP to connect to the server. mpTCP use TCP/IP to connect to the server. mpSocket uses sockets to connect to the server. Can be used with Direct set to False and libmysql.dll 4.1. mpPipe use NamedPipes to connect to the server. mpMemory to connect to the server using SharedMem. Can be used with Direct set to False and libmysql.dll 4.1. mpSSL use protected SSL connection with the server. mpHttp uses HTTP Network Tunneling to connect to the server. |
HttpUrl | Holds the url of the tunneling PHP script. |
HttpUsername | Holds the user name for HTTP authorization. |
HttpPassword | Holds the password for HTTP authorization. |
ProxyHostname | Holds the host name or IP address to connect to proxy server. |
ProxyPort | Used to specify the port number for TCP/IP connection with proxy server. |
ProxyUsername | Holds the proxy server account name. |
ProxyPassword | Holds the password for the proxy server account. |
SSLCACert | CACert is the pathname to the certificate authority file. |
SSLCert | Cert is the pathname to the certificate file. |
SSLChipherList | ChipherList is a list of allowable ciphers to use for SSL encryption. |
SSLKey | Key is the pathname to the key file. |
UseUnicode | Informs server that all data between client and server sides will be passed in UTF-8 coding. Setting this option converts all fields of TStringField type into TWideStringField that allows to work correctly with symbols of almost all languages simultaneously. On the other hand, it causes a delay in working. The default value is False. |
SQL Server-specific options
ApplicationIntent | Specifies the application workload type when connecting to a server. |
ApplicationName | The name of a client application. The default value is the name of the executable file of your application. |
Authentication | Use the Authentication property to specify authentication service used by the database server to identify a user. The Authentication property accepts one of the following values: auWindows uses Windows NT/2000/XP integrated security, or «SSPI» (Security Support Provider Interface). Username, Password and LoginPrompt properties are ignored. auServer (default) an alternative way of identifying users by database server. To establish a connection valid Username and Password either hardcoded into application or provided in server login prompt fields are required. |
AutoTranslate | When set to True, character strings sent between the client and server are translated by converting through Unicode to minimize problems in matching extended characters between the code pages on the client and the server. |
CompactAutoShrinkThreshold | Specifies the amount of free space in the database file before automatic shrink will start. Measured in percents. The default value is 60. |
CompactDefaultLockEscalation | Specifies how many locks should be performed before trying escalation from row to page or from page to table. The default value is 100. |
CompactDefaultLockTimeout | Specifies how much time a transaction will wait for a lock. The default value is 2000. |
Compact FlushInterval | Specifies the interval at which committed transactions are flushed to disk. Measured in seconds. The default value is 10. |
CompactInitMode | Use this property to specify the file mode that will be used to open the database file. The InitMode property accepts one of the following values: imExclusive database file is opened for exclusive use. This mode prevents others from opening this database file. imReadOnly database file is opened for reading. All operations that write to database are unallowable. imReadWrite (default) both read and write operations are allowed. imShareRead opens a database file preventing others from opening the same file in the read mode. |
CompaLockEscalation | Specifies how many locks should be performed before trying escalation from row to page or from page to table. Measured in milliseconds. The default value is 100. |
CompactLockTimeout | Specifies how much time a transaction will wait for a lock. Measured in milliseconds. The default value is 2000. |
CompactMaxBufferSize | Specifies how much memory SQL Server Compact Edition can use before flushing changes to disc. Measured in kilobytes. The default value is 640. |
CompactMaxDatabaseSize | Specified maximum size of the main database file. Measured in megabytes. The default value is 128. |
CompactTempFileDirectory | Specifies the temp file directory. If this option is not assigned, the current database is used as a temporary database. |
CompactTempFileMaxSize | Specified maximum size of the temporary database file. Measured in megabytes. The default value is 128. |
CompactTransactionCommitMode | Specifies in what way the buffer pool will be flushed on transaction commit. The following two values are allowed: cmAsynchCommit asynchronous commit to disk. cmSynchCommit (default) Synchronous commit to disk. |
CompactVersion | Specifies which version of SQL Server Compact Edition will be used. cvAuto (default) version of SQL Server Compact Edition will be chosen automatically depending on database version. If database is not provided, the higher available server version will be chosen. cv30 uses SQL Server Compact Edition Version 3.0 or 3.1. cv35 uses SQL Server Compact Edition Version 3.5. |
ConnectionTimeout | Use ConnectionTimeout to specify the amount of time, in seconds, that can expire before an attempt to consider a connection unsuccessful. The default value is 15 seconds. |
Encrypt | Specifies if data should be encrypted before sending it over the network. The default value is False. |
FailoverPartner | Specifies the SQL Server name to which SQL Native Client will reconnect when a failover of the principal SQL Server occurs. This option is supported only for SQL Server 2005 using SQL Native Client as an OLE DB provider. |
ForceCreateDatabase | Used to force TLiteConnection to create a new database before opening a connection, if the database does not exist. |
InitialFileName | Specifies the name of the main database file. This database will be default database for the connection. SQL Server attaches the database to the server if it has not been attached to the server yet. So, this property can be used to connect to the database that has not been attached to the server yet. |
Language | A SQL Server language name. Identifies the language used for system message selection and formatting. The language must be installed on the computer running an instance of SQL Server otherwise the connection will fail. |
MultipleActiveResultSets | Enables support for SQL Server 2005 Multiple Active Result Sets (MARS) technology. It allows applications to have more than one pending request per connection, and in particular, to have more than one active default result set per connection. Current session is not blocked when using FetchAll = False, and it is not necessary for OLE DB to create additional sessions for any query executing. MARS is only supported by SQL Server 2005 with using SQL Native Client as OLE DB provider. |
NativeClientVersion | Specifies which version of SQL Native Client will be used. The default value is ncAuto. NativeClientVersion is applied when the Provider property is set to prNativeClient or prAuto. |
NetworkLibrary | The name of the Net-Library (DLL) used to communicate with an instance of SQL Server. The name should not include the path or the .dll file name extension. The default name is provided by the SQL Server Client Network Utility. |
OLEDBProvider | This property is now deprecated. The Provider property is used instead. |
PacketSize | Network packet size in bytes. The packet size property value must be between 512 and 32,767. The default network packet size is 4,096. |
PersistSecurityInfo | The data source object is allowed to persist sensitive authentication information such as password along with other authentication information. |
Provider | This property allows you to specify a provider from the list of supported providers or use the Direct mode. The default value of this property is prAuto. In this case a provider of the most recent version is used. Some features added to SQL Server 2005 require the SQL Native Client (prNativeClient) provider to be used. If chosen provider is not installed, an exception is raised. This property can have the following values: prAuto (default) The default value. If the SQL Native Client provider is found, equals to prNativeClient, otherwise equals to prSQL. prMSOLEDB Uses Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL). You need to have the driver installed on your system to use this value for Provider. prSQL Uses the provider preinstalled with Windows that has limited functionality. prNativeClient Uses the SQL Native Client. It should be installed on the computer to use this Provider value. This provider offers the maximum functionality set. prCompact SQL Server 2005 Compact Edition provider. prDirect Connect to SQL Server directly via TCP/IP. |
QuotedIdentifier | Causes Microsoft® SQL Server™ to follow the SQL-92 rules regarding quotation mark delimiting identifiers and literal strings. Identifiers delimited by double quotation marks can be either Transact-SQL reserved keywords or can contain characters not usually allowed by the Transact-SQL syntax rules for identifiers. QuotedIdentifier must be True when creating or manipulating indexes on computed columns or indexed views. If QuotedIdentifier is False, CREATE, UPDATE, INSERT, and DELETE statements on tables with indexes on computed columns or indexed views will fail. True (default) Identifiers can be delimited by double quotation marks, and literals must be delimited by single quotation marks. All strings delimited by double quotation marks are interpreted as object identifiers. Therefore, quoted identifiers do not have to follow the Transact-SQL rules for identifiers. They can be reserved keywords and can include characters not usually allowed in Transact-SQL identifiers. Double quotation marks cannot be used to delimit literal string expressions; single quotation marks must be used to enclose literal strings. If a single quotation mark (') is a part of the literal string, it can be represented by two single quotation marks («). QuotedIdentifier must be True when reserved keywords are used for object names in the database. False (BDE compatibility) Identifiers cannot be quoted and must follow all Transact-SQL rules for identifiers. Literals can be delimited by either single or double quotation marks. If a literal string is delimited by double quotation marks, the string can contain embedded single quotation marks, such as apostrophes. |
CompactLocaleIdentifier | Specifies the locale ID. The default value is the system default locale on Windows systems and 0 on other systems. |
IPVersion | Use the IPVersion property to specify Internet Protocol Version. Supported values: ivIPBoth Specifies that either Internet Protocol Version 6 (IPv6) or Version 4 (IPv4) will be used. ivIPv4 (default) Specifies that Internet Protocol Version 4 (IPv4) will be used. ivIPv6 Specifies that Internet Protocol Version 6 (IPv6) will be used. Note: When the TIPVersion property is set to ivIPBoth, a connection attempt will be made via IPv6 if it is enabled on the operating system. If the connection attempt fails, a new connection attempt will be made via IPv4. |
MultiSubnetFailover | Use the MultiSubnetFailover option to configure the prNativeClient or prMSOLEDB provider to faster detect and connect to the currently active server by making simultaneous connection attempts to all IP addresses associated with the group listener of a SQL Server AlwaysOn Availability Group or a SQL Server Failover Cluster Instance. The default value is False. |
UseWideMemos | Use the option to manage the field type that will be created for the NTEXT data type. If True (default), TWideMemo fields will be created for the NTEXT data type. If False, TMemo fields will be created. |
UuidWithBraces | Use the UuidWithBraces option to specify whether the values of UUID fields are returned with braces. The default value is True. |
TrustServerCertificate | Lets enabling traffic encryption without validation. The default value is False. This option is only supported by SQL Server 2005 with using SQL Native Client as OLE DB provider. |
WorkstationID | A string identifying the workstation. The default value is the name of your machine. |
Oracle-specific options
CharLength | Serves for national languages support. Means the character size in bytes. Allowed values are in range [0..6]. Zero means that the actual character length will be requested from the Oracle server. The default value is 1. |
Charset | Setups the character set which will be used to transfer character data between client and server. Supported with Oracle 8 client only. |
ClientIdentifier | Use this property to determine the client identifier in the session. The client identifier can be set in the session handle at any time in the session. Then, on the next request to the server, the information is propagated and stored in the server session. The first character of the ClientIdentifier should not be ':'. If it is, an exception will be raised. This property has no effect if you use the version of the server earlier than Oracle 9. |
ConnectMode | Specifies which system privileges to use when connecting to the server. The following values are supported for this option: cmNormal (default) Connect as an ordinary user. cmSysOper Connect with SYSOPER role. cmSysDBA Connect with SYSDBA role. cmSysASM Connect with SYSASM role. User must have SYSOPER, SYSDBA, SYSASM or all three roles granted before he connects to the server and wishes to use any of these roles. ConnectMode is not supported for OCI 7. |
ConnectionTimeout | The time to wait for a connection to open before raising an exception. Works only when the Direct mode is set to True. |
ConvertEOL | Affects line break behavior in string fields and parameters. When fetching strings (including CLOBs and LONGs) with ConvertEOL = True dataset converts their line breaks from LF to CRLF form. And when posting strings to server with ConvertEOL turned on their line breaks converted from CRLF to LF form. By default, strings are not converted. |
DateFormat | Specifies the default date format used when Oracle makes conversions from internal date format into string values and vice versa. An example of valid expression for this property could be «MM/DD/YYYY». |
DateLanguage | Specifies the default language used when Oracle parses internal date format into string values and vice versa. Examples of valid expressions for this property could be «French», «German» etc. |
Direct | If set to True, connection is performed directly over TCP/IP, and does not require Oracle software on the client side. Otherwise, provider connects in Client mode. |
EnableIntegers | When set to True, the provider maps Oracle numbers with precision less than 10 to TIntegerField. If EnableIntegers is set to False, numbers are mapped to TFloatField or XXX. |
EnableNumbers | When set to True, the provider maps Oracle numbers with precision greater than 15 to TOraNumberField. Otherwise they are mapped to TFloatFiled. |
HomeName | Set the HomeName option to select which Oracle client will be used in your application. Use this property in cases when there is a number of Oracle clients on the machine. The Oracle provider searches all available homes in the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE registry folder. If the HomeName option is set to an empty string, the provider uses the first directory from the list of homes encountered in environment PATH variable as the default Oracle home. |
IPVersion | Use the IPVersion property to specify the Internet Protocol version. The default value is ivIPv4. ivIPBoth Specifies that either IPv6 or IPv4 Internet Protocol version is used. Note: when the TIPVersion property is set to ivIPBoth, there occurs an attempt to connect via IPv6 (if it is enabled in the OS); if the attempt fails - there occurs an attempt to connect via IPv4. ivIPv4 Specifies that the IPv4 Internet Protocol version is used. ivIPv6 Specifies that the IPv6 Internet Protocol version is used |
OptimizerMode | Use the OptimizerMode property to get or set the default optimizer mode for connection. The OptimizerMode property can have one of the following values: omDefault Session optimizer mode will not be changed. omFirstRowsNN Instruct Oracle to optimize a SQL statement for fast response. It instructs Oracle to choose the plan that returns the first NN rows most efficiently. If you use the version of the server earlier than Oracle 9.0, these values have the same effect as omFirstRows. omFirstRows This mode is retained for backward compatibility and plan stability. It optimizes for the best plan to return the first single row. omAllRows Explicitly chooses the cost-based approach to optimize a statement block with a goal of best throughput (that is, minimum total resource consumption). omChoose Causes the optimizer to choose between the rule-based and cost-based approaches for a SQL statement. The optimizer selection is based on the presence of statistics for the tables accessed by the statement. If the data dictionary has statistics for at least one of these tables, then the optimizer uses the cost-based approach and optimizes with the goal of the best throughput. If the data dictionary does not have statistics for these tables, then it uses the rule-based approach. omRule Chooses rule-based optimization (RBO). Any other value causes the optimizer to choose cost-based optimization (CBO). The rule-based optimizer is the archaic optimizer mode from the earliest releases of Oracle Database. |
PoolingType | Pooling implementation type optLocal - our own pooling implementation optOCI - the management of the pool is done by OCI optMTS - «shared server» pool is used. The default value is optLocal |
PrecisionBCD | This option allows dataset to represent fields as TBCDField if NUMBER field precision and scale less or equal than precision and scale specified in BCDPrecision. Value is interpreted like two coma separated digits (BCD precision and scale). The value of BCDPrecision cannot be greater then '14,4'. The default value is '14,4'. |
PrecisionFloat | This option allows dataset to represent fields as TFloatField if NUMBER field precision less or equal than PrecisionFloat. The default value is 0. |
PrecisionFMTBCD | This option allows dataset to represent fields as TFMTBCDField if NUMBER field precision and scale less or equal than precision and scale specified in PrecisionFMTBCD. Value is interpreted like two coma separated digits (FMTBCD precision and scale). |
PrecisionInteger | This option allows dataset to represent fields as TIntegerField if NUMBER field precision less or equal than PrecisionInteger. The default value is 9. |
PrecisionLargeInt | This allows dataset to represent fields as TLargeIntegerField if NUMBER field precision less or equal than PrecisionLargeInt. The default value is 18. |
PrecisionFMTBCD | This option allows dataset to represent fields as TFMTBCDField if NUMBER field precision and scale less or equal than precision and scale specified in PrecisionFMTBCD. Value is interpreted like two coma separated digits (FMTBCD precision and scale). The default value is '38,38'. |
Schema | Use the Schema property to change the current schema of the session to the specified schema. This setting offers a convenient way to perform operations on objects in a schema other than that of the current user without having to qualify the objects with the schema name. This setting changes the current schema, but it does not change the session user or the current user, nor does it give you any additional system or object privileges for the session. If TUniConnection.Connected is True, read this property to receive the name of the current schema. |
StatementCache | When set to True, the provider caches statement handles. |
StatementCacheSize | Statement handle cache size. |
ThreadSafety | Allows to use the OCI in multi-threaded environment. The ThreadSafety option must be True before any non blocking fetch of rows or SQL statement execution takes place. |
UseOCI7 | Use the UseOCI7 option to force TUniConnection use OCI 7 call style only. The default value is False. |
EnableLargeint | When set to True, the provider maps Oracle numbers with precision more than 9 and less than 18 to TIntegerField, otherwise numbers are mapped to TFloatField. The default value is False. |
PrecisionSmallint | This option allows dataset to represent fields as TSmallintField if NUMBER field precision is less or equal to PrecisionLargeInt. The default value is 4. |
UnicodeEnvironment | Enables or disables using OCI Unicode Environment. When this option is enabled, Unicode characters can be used in SQL statements. Disable this option if you have encountered some problems with Unicode Environment. |
UseUnicode | Enables or disables Unicode support. Affects on character data fetched from the server. When set to True all character data is stored as WideStrings, and TStringField is replaced with TWideStringFiled. Supported starting with Oracle 8. |
PostgreSQL-specific options
ApplicationName | The name of a client application. The default value is the name of the executable file of your application. |
Charset | Setups the character set which will be used to transfer character data between client and server. |
ConnectionTimeout | The time to wait for a connection to open before raising an exception. |
HttpPassword | Use the HttpPassword option to specify the password for HTTP authorization. |
HttpTrustServerCertificate | This option specifies whether or not the driver should trust the server certificate when connecting to the server. The default value is False – the driver won't trust the server certificate and will verify validity of the server certificate instead. If set to True, the driver will trust the server certificate. |
HttpUrl | Use the HttpUrl option to specify the URL of the PHP tunneling script. |
HttpUsername | Use the HttpUsername option to specify the username for HTTP authorization. |
MessagesCharset | Specifies the character set that will be used to transfer error messages from the server to the client. |
IPVersion | Use the IPVersion property to specify the Internet Protocol version. The default value is ivIPv4. ivIPBoth Specifies that either IPv6 or IPv4 Internet Protocol version is used. Note: when the TIPVersion property is set to ivIPBoth, there occurs an attempt to connect via IPv6 (if it is enabled in the OS); if the attempt fails - there occurs an attempt to connect via IPv4. ivIPv4 Specifies that the IPv4 Internet Protocol version is used. ivIPv6 Specifies that the IPv6 Internet Protocol version is used. |
ProtocolVersion | Specifies protocol version to be used when several versions are available. Supported values: pv20 Set ProtocolVersion to pv20 to work with PostgreSQL server version 7.3 or older that don't support protocol version 3.0. pv30 Set ProtocolVersion to pv30 to enforce protocol version 3.0. pvAuto (default) Set ProtocolVersion to pvAuto to automatically select between protocol versions depending on the specific query for the best possible performance. |
ProxyHostname | Use the ProxyHostName option to specify the host name or IP address to connect to the proxy server. |
ProxyPassword | Use the ProxyPassword option to specify the password for the proxy server. |
ProxyPort | Use the ProxyPort option to specify the port for a TCP/IP connection with the proxy server. |
ProxyUsername | Use the ProxyUsername option to specify the username for the proxy server. |
Schema | Use the Schema property to set the search path for the connection to the specified schema. This setting offers a convenient way to perform operations on objects in a schema other than that of the current user without having to qualify the objects with the schema name. |
SSLCACert | The pathname to the certificate authority file. |
SSLCert | The pathname to the certificate file. |
SSLChipherList | The list of allowable ciphers to use for SSL encryption. |
SSLKey | The pathname to the key file. |
SSLMode | This option determines whether or with what priority an SSL connection will be negotiated with the server. Supported values: smAllow Negotiates trying first a non-SSL connection, then if that fails, tries an SSL connection. smDisable (default) Only an unencrypted SSL connection will be attempted. smPrefer Negotiates trying first an SSL connection, then if that fails, tries a regular non-SSL connection. smRequire Tries only an SSL connection. smVerifyCA Verifies server identity by validating the server certificate chain up to the root certificate installed on the client machine. smVerifyFull Verifies server identity by validating the server certificate chain up to the root certificate installed on the client machine and validates that the server hostname matches the server certificate. Note: If PostgreSQL is compiled without SSL support, using option smRequire will cause an error, while options smAllow and smPrefer will be accepted, but PgDAC will not in fact attempt an SSL connection. |
UseHttp | The UseHttp option enables the use of HTTP tunneling to connect to the server. The default value is False. |
UuidWithBraces | Use the UuidWithBraces option to specify whether the values of UUID fields are returned with braces. The default value is True. |
UseUnicode | Enables or disables Unicode support. Affects character data fetched from the server. When set to True, all character data is stored as WideStrings, and TStringField is replaced by TWideStringFiled. |
SQLite-specific options
ASCIIDataBase | Enables or disables ASCII support. The default value is False. Note:For this option usage set the UseUnicode option to false. |
BusyTimeout | Use the ClientLibrary option to set or get the timeout of waiting for locked resource (database or table). If resource is not unlocked during the time specified in BusyTimeout, then SQlite returns the SQLITE_BUSY error. Default value of this option is 0. |
CipherLicense | Holds a license key for SQLCipher Commercial Edition. Note that SQLCipher is not supported in the Direct mode. |
ConnectMode | The connection mode. cmDefault - The default value. The database is opened for reading and writing. Corresponds to the SQLite default behavior. cmReadWrite - The database is opened for reading and writing. cmReadOnly - The database is opened in read-only mode. |
ClientLibrary | Use the ClientLibrary option to set or get the client library location. |
DateFormat | Defines the format for storing dates in the database. If it is not specified, the default yyyy-mm-dd format will be used. |
DefaultCollations | Enables or disables automatic default collations registration on connection establishing. List of available default collations: UniNoCase - allows to compare unicode strings case-insensitively. |
Direct | If the Direct option is set to True, UniDAC connects to the database directly using embedded SQLite3 engine and does not use SQLite3 client library. |
EnableLoadExtension | Enables loading and using an SQLite extension: UniConnection.ExecSQL(); |
EnableSharedCache | Enables or disables the Shared-Cache mode for SQLite database. Default value of this option is False. |
EncryptionAlgorithm | Used to specify the encryption algorithm for an encrypted database. |
EncryptionKey | This property is used for password input and for working with encrypted database. Password can be set or changed using EncryptDatabase method. |
ForegnKeys | Enables or disables the enforcement of foreign key constraints. Foreign key constraints are disabled by default in SQLite, so this option can be used to force enabling or disabling them by the application. Default value of this option is True. |
ForceCreateDatabase | Used to force TLiteConnection to create a new database before opening a connection, if the database does not exist. |
JournalMode | The journal mode. jmDelete - The rollback journal is deleted at the conclusion of each transaction. jmTruncate - The rollback journal is stored in volatile RAM. It reduces disk I/O, but decreases database safety and integrity. If the application using SQLite crashes in the middle of a transaction, the database file may become corrupt. jmPersist - The rollback journal file is not deleted when the transaction is commited. The header of the journal is filled with zeroes to prevent other connections rolling back from the journal. This mode optimizes performance on platforms where deleting or truncating a file is much more expensive than overwriting the first block of a file with zeros. jmMemory - The rollback journal is stored in volatile RAM. This reduces the disk I/O, but decreases database safety and integrity. If the application using SQLite crashes in the middle of a transaction in this mode, the database file is likely to become corrupt. jmWAL - A write-ahead log is used instead of a rollback journal to implement transactions. When data database is updated, the original content is preserved in the database file and the changes are appended in a separate WAL file. All the transactions that are appended in the WAL file are eventually transferred back into the original database. jmOff - The rollback journal is completely disabled. No rollback journal is created, thus there is no rollback journal to delete. The ROLLBACK command does not work – it behaves in an undefined way. Avoid using the ROLLBACK command when the journal mode is disabled. jmDefault - The default value. If the database was previously opened in the WAL mode, then Default will open the database in the WAL mode; otherwise, the database will be opened in the Delete mode. |
LockingMode | The database locking mode. lmExclusive - The database connection never releases file locks. The first time the database is read or written in this mode, a shared lock is obtained and held. Use this mode if you want to prevent other processes from accessing the database file, reduce the number of filesystem operations, or access WAL databases without using the shared memory. lmNormal - The database connection unlocks the database file at the conclusion of each read or write transaction. |
NativeDate | If the option is set to True, the date and time values will be stored in the database in the native SQLite format, and when retrieved, they will be converted to the TDateTime type. If set to False, no conversion to the TDateTime type will be made. The default value is True. |
ReadUncommitted | Enables or disables Read-Uncommitted isolation mode. A database connection in read-uncommitted mode does not attempt to obtain read-locks before reading from database tables as described above. This can lead to inconsistent query results if another database connection modifies a table while it is being read, but it also means that a read-transaction opened by a connection in read-uncommitted mode can neither block nor be blocked by any other connection. Default value of this option is False. |
Synchronous | The database synchronization mode when writing to disk. smOff - The database engine continues without syncing after handing data off to the operating system. If the application running SQLite crashes, the data will safe, unless the operating system crashes or the computer loses power before data has been written to disk, in which case the database might become corrupted. This is the fastest mode. smNormal - The database engine still syncs at the most critical moments, but less often than in the FULL mode. The Normal mode is faster than the Full mode. When using the WAL mode (and probably the DELETE mode) with synchronous=NORMAL, data is safe from corruption. The synchronous=NORMAL setting is a reasonable choice for most applications running in the WAL mode. smFull - The database engine ensures that all content is safely written to disk before continuing. This preserves database integrity even in case of an operating system failure or power outage. It is a safe, but slower mode, and is most commonly used when not in the WAL mode. smExtra - This mode is similar to the FULL mode, but in the DELETE mode, the directory containing the rollback journal is synced after that journal is unlinked to commit a transaction. This provides additional durability if a power outage occurs right after the commit. Note: Keep the default Synchronous=smOff and LockingMode=lmExclusive for the best perfomance. |
TimeFormat | Defines the format for storing time in the database. If it is not specified, the default hh24:mi:ss format will be used. |
UseUnicode | Enables or disables Unicode support. When set to True, all character data is stored as WideString, and TStringField is used instead of TWideStringField. The default value is False. |