2015-08-28 33 views
0

我想用Qt打開一個SQL壓縮服務器文件.sdf。 我有以下代碼:Qt如何打開SQL壓縮服務器文件.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 

我該如何解決這個問題?

+1

你應該返工後有代碼的正確格式化,幾乎是不可讀這樣的.. –

+0

以前我用過
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」); 但我不確定什麼Driver = {???}爲sdf文件。 –

回答

1

\被用於C++ escape sequences,所以你需要做的是這樣的,而不是:

db.setDatabaseName("C:\\testresults.sdf");

相關問題