1. error = "Driver not loaded Driver not loaded"。
QSqlDatabase::addDatabase("QODBC")是一个静态函数,用类名去调用,而不是直接访问
2. error = "[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配(翻译成人话就是:一个是64位的,一个是32位的) QODBC3: Unable to connect"。
Win10默认使用64位ODBC数据源;
vs2010+qt4.8.6创建的程序是32位的(通过运行程序在“任务管理器看具体程序的位数”);
在电脑上选择32位ODBC数据源,进去重新添加一个ODBC数据源,驱动程序用32位数据源自带的驱动程序,添加后看到数据源位数是32位的,使用新添加的32位ODBC数据源,重新连接数据库即可
3. access2007之后使用“.accdb”文件格式,此格式在64位ODBC数据源不可用。我用32位ODBC连接改名后的“.mdb”文件也提示连接不上。
在32位ODBC数据源配置处,重新添加/创建一个“.mdb”文件,并把“.accdb”文件中的数据,通过外部数据功能导入新创建的“.mdb”文件。重新选取数据源的数据库文件,程序重新连接即可