Установить параметры соединения
Синтаксические правила
void QSqlDatabase::setConnectOptions(< параметры >) < параметры >::= символьный литерал или символьная переменная
Описание
Устанавливает (или изменяет) специфичные для СУБД параметры соединения с БД. Эта операция должна выполняться до открытия соединения с БД, иначе она не имеет смысла.
Изменить параметры соединения можно и таким образом:
Символьная строка, задающая значение аргумента < параметры >, должна иметь формат:
< опция >[; < опция >…]
Значение < опция > зависит от СУБД, к которой выполняется соединение.
Для СУБД ЛИНТЕР допустимы следующие значения < опций >:
| Обозначение опции | Значение опции | Примечание | ||
|---|---|---|---|---|
AUTOCOMMIT
| Задает режим транзакций | Значение по умолчанию | ||
OPTIMISTIC
| Задает режим транзакций ПримечаниеРежим OPTIMISTIC устарел (использовать не рекомендуется). | |||
EXCLUSIVE
| Задает режим транзакций | |||
ANSI
| Задает кодировку соединения | |||
KOI8
| Задает кодировку соединения | Значение по умолчанию |
Примечание
Если аргумент < параметры > содержит несколько однотипных опций (например, "PESSIMISTIC;AUTOCOMMIT;READ_COMMITTED"), то будет использоваться последняя опция.
Возвращаемое значение
Нет.
Примеры
...
// Соединение с СУБД ЛИНТЕР
QSqlDatabase db = QSqlDatabase::addDatabase( "QLINTER" );
db.setUserName( "SYSTEM" );
db.setPassword( "MANAGER8" );
db.setConnectOptions("OPTIMISTIC;CHARSET=KOI8"); // установить опции соединения
if (!db.open()) {
db.setConnectOptions(); // очистить строку опций соединения
}
// Соединение с MySQL
db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1");
if (!db.open()) {
db.setConnectOptions();
}
// Соединение через ODBC
db.setConnectOptions("SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY; SQL_ATTR_TRACE=SQL_OPT_TRACE_ON");
if (!db.open()) {
db.setConnectOptions();
}
См. также: connectOptions().