![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
enslaver |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 30 Регистрация: 25.3.2010 Пользователь №: 1565 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Убил весь сегодняшний день на то что бы найти, как все же выполнить это подключение, перепробовал сотни строк инициализации, и только 1 способ мне помог:
Оказалось что для того что бы использовать драйвер QODBC нужно было сначала настроить АЛИАСЫ в windows. "Алиас" создаем драйвер подключения с именем нашей базы данных Панель управления\ Администрирование\Источники данных (ODBC)\вкладка Системный DSN кнопочка добавить Выбираем драйвер SQL Server Native Client и указываем его имя, как имя нашей базы данных ( у меня это DS_rodioncevo). Барабанная дробь........... Тада, теперь можно подключаться к ODBC базе данных. QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); db.setConnectOptions(); db.setDatabaseName("DS_rodioncevo"); db.setUserName("sa"); db.setPassword("test"); Прошу администрацию прикрепить данную тему, так как только на вашем форуме пересмотрел не мало статей что бы найти это решение!. И если кто знает как по другому выполнить подключение в MS SQL server 2008 прошу описать здесь. |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
В ODBC есть такое понятие как Connection String, они бывают вроде:
Цитата "Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;" Если взять твой случай, то получится такой код:"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes" "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb" "Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls" "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin" "DSN=dsnname" И без всяких дополнительный телодвижений с настройкой DSN'ов. И разумеется в этом случае можно легко сменить БД.
|
|
|
enslaver |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 30 Регистрация: 25.3.2010 Пользователь №: 1565 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
В ODBC есть такое понятие как Connection String, они бывают вроде: Цитата "Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;" Если взять твой случай, то получится такой код:"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes" "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb" "Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls" "Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin" "DSN=dsnname" И без всяких дополнительный телодвижений с настройкой DSN'ов. И разумеется в этом случае можно легко сменить БД.Проблема заключается в том что с этими строками он не может подключиться к ДБ, я перепробывал практически все возможные комбинации! А сама ошибка выглядит так (использовал ваш код) QSqlError(2, "QODBC3: Unable to connect", "[Microsoft][ODBC SQL Server Driver][Shared Memory]SQL Server не существует, или доступ запрещен. [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionOpen (Connect()).") Сообщение отредактировал enslaver - 2.6.2012, 9:56 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 8.6.2025, 2:39 |