ODBC Database connenction to ACCESS Database

ODBC Database connenction to ACCESS Database Hey guys, I got a little problem with the QODBC database connection. I have to open and use a ACCESS databasefile (.accdb) within my Qt programm, but I can't get it run. I think there is a mista

ODBC Database connenction to ACCESS Database

Hey guys,

I got a little problem with the QODBC database connection. I have to open and use a ACCESS databasefile (.accdb) within my Qt programm, but I can't get it run. I think there is a mistake in the database name but I am not that familiar with database handling so I need a little help with this. I started a simple mainwindow projekt and put all the database stuff in the main function. Here is the code:

Source code

123456789101112131415161718192021222324252627282930
#include #include "mainwindow.h"#include #include #include int main(int argc, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();    QSqlDatabase datab = QSqlDatabase::addDatabase("QODBC");    QString databasename = "DRIVER={Microsoft Access Driver (*.accdb)};FIL={MS Access};DBQ=C://Users/Thor/Pers/Projekt Madinger/Datenbank/Daten_Hauptprogramm.accdb";    datab.setDatabaseName(databasename);    if(!datab.open())    {    datab.setConnectOptions();    return 1;    }    else    return 0;        return a.exec();}



I can run the project without any problems but the open() funktion alway returns false. Maybe its just a noob mistake but it drives me crazy :cursing: .

  • Go to the top of the page
  • Quote

ThorsFeldherr

Beginner

Posts: 3

Location: Bavaria/Germany

Occupation: Master of Engineering

  • Send private message

2

Friday, February 24th 2012, 5:53pm

Ok now I am a little bit further. I debugged it and I cant connect because of this error:

[Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben

in English: The data source name not found and no default driver specified

Can you help me?

  • Go to the top of the page
  • Quote

ThorsFeldherr

Beginner

Posts: 3

Location: Bavaria/Germany

Occupation: Master of Engineering

  • Send private message

3

Friday, February 24th 2012, 7:38pm

Ok I got it by myself. I post the solution in case anyone else has the same problem.

I use windows 7, 32 bit. If you want to use a database from type .mdb or .accdb with ODBC you have to register the database as datasource before you can use it via C++ in any case. It is rather simple to to do:

You go into start->system
type ODBC into the search field
the result is datasource(ODBC)-> click it
Under "User-DSN" you can add a new source
you have to choose a database (which is the one you want to use) and you can give it a sourcename for example "YOURSOURCE"

After you have done that you can call the database like that:

Source code

123456
QSqlDatabase datab = QSqlDatabase::addDatabase("QODBC");QString databasename = "YOURSOURCE";datab.setDatabaseName(databasename);datab.open();



Now it works! :thumbsup:

本文来源:http://www.qtforum.org/article/37487/odbc-database-connenction-to-access-database.html

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: