. Ho un database SQLCompact a cui sto tentando di accedere utilizzando ADO
e C++
. Tuttavia, a causa delle dimensioni del database (300 MB, oltre il limite predefinito di 256 MB), devo specificare lo Max Database Size
nella stringa di connessione. In tal caso, tuttavia, la funzione .Open(...)
viene lanciata.L'utilizzo dell'opzione Dimensione massima database in ADO causa l'apertura del comando
Il codice che sto usando:
HRESULT hr = conn.CreateInstance(__uuidof(Connection), NULL);
conn->Open(L"Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source=test.sdf;Max Database Size=512", L"", L"",adConnectUnspecified);
L'errore:
HR: DB_E_ERRORSOCCURRED
Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done."
Message: "IDispatch error #3105"
Nota:
Ho provato con lo stesso codice, con un database più piccolo e la rimozione Max Database Size
dalla stringa di connessione e funziona come previsto. Aggiungendo il Max Database Size
nuovamente il problema si ripresenta, quindi il mio presupposto che è quello che causa l'errore.
Qualche idea? Come posso lavorare con i database sulla dimensione predefinita Provider
?
Grazie, ci proverò, non appena ho la possibilità (nota a margine: il tuo SQLCompact blog post e strumenti sono fantastici, grazie =)) – Omni
Grazie! Fammi sapere se funziona per te ... – ErikEJ
Ha funzionato, grazie mille. – Omni