torbach
@torbach

Источник данных не найден и не указан драйвер. Как исправить?

Пытаюсь установить соединение с базой данных

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("study");
db.setHostName("localhost");
db.setPort(5432);
db.setUserName("myuser");
db.setPassword("password");
if (!db.open())
{
qDebug()< }
else
{
qDebug()<<"Успешно,Соединение с БД установлено!";
}
}


Всплывает ошибка:
"[Microsoft][Диспетчер драйверов ODBC] , используемый по умолчанию QODBC: Unable to connect"

Не подключается драйвер и не присоединяется база данных

Помогите, разобраться, что не так

Ссылка на проект:
https://drive.google.com/file/d/1HYp2v8ggPgIKGuFwQ...
  • Вопрос задан
  • 1676 просмотров
Пригласить эксперта
Ответы на вопрос 1
@code_panik
Используйте подходящий драйвер для подключения к базе данных вместо QODBC. Для postgresql это QPSQL (список драйверов в qt 5.15).
Note: You should use the native driver, if it is available, instead of the ODBC driver. ODBC support can be used as a fallback for compliant databases if no native driver is available.
QODBC for Open Database Connectivity (ODBC)
При подключении с помощью ODBC в setDatabaseName указывается не имя базы данных, а datasource name или данные подключения (пример по ссылке выше).
When connecting to an ODBC datasource, you should pass the name of the ODBC datasource to the QSqlDatabase::setDatabaseName() function, rather than the actual database name.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы