Одновремено работать с 2 базами |
Здравствуйте, гость ( Вход | Регистрация )
Одновремено работать с 2 базами |
dreamcode |
27.3.2010, 13:22
Сообщение
#1
|
Студент Группа: Участник Сообщений: 52 Регистрация: 2.11.2009 Пользователь №: 1201 Спасибо сказали: 1 раз(а) Репутация: 0 |
Задача: нужно добавить запись в 2 базы MS SQL SERVER + SQLITE
Создаю конекшн к одной потом сразу к второй в консоль выводится месага : QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work. QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed. и записи не добавляются !!! В чом прикол...??? походу в одном потоку нельзя создавать 2конекта да ? |
|
|
ViGOur |
27.3.2010, 13:57
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Думаю это все из-за того, что ты используешь
QSqlDatabase QSqlDatabase::addDatabase ( const QString & type, const QString & connectionName = QLatin1String( defaultConnection ) ) с параметром connectionName по умолчанию: Цитата Если аргумент connectionName не задан, то вновь добавленное соединение становится для приложения соединением по умолчанию, и последующие вызовы database() без аргумента с именем соединения будут возвращать соединение по умолчанию. Если connectionName предоставляется, используйте database(connectionName) чтобы найти соединение. Если задашь connectionName разные для MS SQL SERVER и SQLITE, то все должно быть в порядке. |
|
|
dreamcode |
27.3.2010, 14:23
Сообщение
#3
|
Студент Группа: Участник Сообщений: 52 Регистрация: 2.11.2009 Пользователь №: 1201 Спасибо сказали: 1 раз(а) Репутация: 0 |
Думаю это все из-за того, что ты используешь QSqlDatabase QSqlDatabase::addDatabase ( const QString & type, const QString & connectionName = QLatin1String( defaultConnection ) ) с параметром connectionName по умолчанию: Цитата Если аргумент connectionName не задан, то вновь добавленное соединение становится для приложения соединением по умолчанию, и последующие вызовы database() без аргумента с именем соединения будут возвращать соединение по умолчанию. Если connectionName предоставляется, используйте database(connectionName) чтобы найти соединение. Если задашь connectionName разные для MS SQL SERVER и SQLITE, то все должно быть в порядке. щас попробую !!!! ViGOur спасиб всё работает !!! |
|
|
Текстовая версия | Сейчас: 27.12.2024, 12:19 |