crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Одновремено работать с 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  


Цитата(ViGOur @ 27.3.2010, 14:57) *
Думаю это все из-за того, что ты используешь
QSqlDatabase QSqlDatabase::addDatabase ( const QString & type, const QString & connectionName = QLatin1String( defaultConnection ) ) с параметром connectionName по умолчанию:
Цитата
Если аргумент connectionName не задан, то вновь добавленное соединение становится для приложения соединением по умолчанию, и последующие вызовы database() без аргумента с именем соединения будут возвращать соединение по умолчанию. Если connectionName предоставляется, используйте database(connectionName) чтобы найти соединение.


Если задашь connectionName разные для MS SQL SERVER и SQLITE, то все должно быть в порядке.



щас попробую !!!!

ViGOur спасиб всё работает !!!

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 12:19