crossplatform.ru

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

> Подключение к базе данных на виртуальной машине (QODBC)
Turbo
  опции профиля:
сообщение 12.3.2012, 20:17
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 12.3.2012
Пользователь №: 3260

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем доброго времени суток!
Пытаюсь подключиться к базе данных на виртуальной машине таким образом


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <C:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtSql\qsqldatabase.h>
#include "QSqlError"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pushButton_clicked(){
db=QSqlDatabase::addDatabase("QODBC");
db.setHostName(ui->lineEdit->text());
db.setDatabaseName(ui->lineEdit_2->text());
db.setUserName(ui->lineEdit_3->text());
db.setPassword(ui->lineEdit_4->text());
db.setPort(1433);
db.setConnectOptions("SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY;SQL_ATTR_TRACE=SQL_OPT_TRACE_ON");
if(!db.open()){
qDebug() << "Can't open DB: " << db.lastError().text();
}
else {
ui->lineEdit_5->setText("Good");
}
db.close();
}

Выдается ошибка:
Can't open DB: "[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию QODBC3: Unable to connect"

Что я делаю не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
zloiia
  опции профиля:
сообщение 12.3.2012, 23:31
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 25
Регистрация: 5.5.2011
Пользователь №: 2655

Спасибо сказали: 5 раз(а)




Репутация:   0  


Цитата(Turbo @ 12.3.2012, 21:17) *
Всем доброго времени суток!
Пытаюсь подключиться к базе данных на виртуальной машине таким образом


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <C:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtSql\qsqldatabase.h>
#include "QSqlError"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pushButton_clicked(){
db=QSqlDatabase::addDatabase("QODBC");
db.setHostName(ui->lineEdit->text());
db.setDatabaseName(ui->lineEdit_2->text());
db.setUserName(ui->lineEdit_3->text());
db.setPassword(ui->lineEdit_4->text());
db.setPort(1433);
db.setConnectOptions("SQL_ATTR_ACCESS_MODE=SQL_MODE_READ_ONLY;SQL_ATTR_TRACE=SQL_OPT_TRACE_ON");
if(!db.open()){
qDebug() << "Can't open DB: " << db.lastError().text();
}
else {
ui->lineEdit_5->setText("Good");
}
db.close();
}

Выдается ошибка:
Can't open DB: "[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию QODBC3: Unable to connect"

Что я делаю не так?


Ну то что с ходу бросилось в глаза это то что для ODBC не указан драйвер коннектора. Я тоже бился головой о проблему невозможности подключиться просто по DNS имени источника данных. Приходилось все-же указывать имя коннектора. Вот можно почитать про синтаксис строки настроек ODBC http://msdn.microsoft.com/ru-ru/library/sy...tionstring.aspx http://www.connectionstrings.com/mysql

Хотя вот мне коллеги еще посоветовали посмотреть на такое http://www.easysoft.com/developer/libraries/qt/example.cpp
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 1.3.2025, 9:53