Установить параметры соединения
Синтаксические правила
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()
.