【发布时间】:2015-08-28 19:47:13
【问题描述】:
我正在尝试使用 Qt 打开一个 SQL Compact Server 文件 .sdf。 我有以下代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("C:\\testresults.sdf");
bool Success = db.open();
sprintf(writeToMonitorBuffer, "dblastError = %s", (const char *)db.lastError().text().toLatin1());
writeToMonitor(writeToMonitorBuffer);
sprintf(writeToMonitorBuffer, "db.open(): Success/Fail = %s", Success ? "Pass" : "Fail");
writeToMonitor(writeToMonitorBuffer);
我收到错误消息:
dblastError = [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified QODBC3: Unable to connect
我得到:
db.open(): Success/Fail = Fail
我该如何解决这个问题?
【问题讨论】:
-
你应该修改帖子以正确格式化代码,这样几乎无法阅读......
-
过去我用过
db.setDatabaseName("Driver={Microsoft Access Driver (.mdb, *.accdb)};DSN='';DBQ=C: \\temp\\TestEng_TestDatabase.accdb");用于连接访问数据库。好像我应该做类似的事情, db.setDatabaseName("Driver={SQL Server (.sdf)};DSN='';DBQ=C:\\testresults.sdf");但我不确定 sdf 文件的 Driver={???} 是什么。
标签: c++ sql-server database qt sdf