Saya mencoba memperbarui program c++ MFC lama dan SQLConfigDataSource menyebabkan pengecualian yang tidak tertangani ketika saya mencoba membuat DSN. Pesan kesalahannya mengatakan:
Pengecualian yang tidak tertangani di 0x00007FFC97D89129 (KernelBase.dll): 0x0000087A (parameter: 0xFFFFFFFF887A0001, 0x0000000000000053)
Kode berjalan dengan benar dan berfungsi sebagaimana mestinya, tetapi sepertinya saya tidak bisa menghilangkan kesalahan ini.
int mlen;
char* szDesc = new char[256];
sprintf_s(szDesc, 256, "DSN=%s?DBQ=%s?FIL=MicrosoftAccess?",
IV_DATABASE_NAME, // DSN name
sDBPath); // full file name for accdb file
mlen = strlen(szDesc);
for (int i = 0; i < mlen; i++) {
if (szDesc[i] == '?')
szDesc[i] = '\0';
}
SQLConfigDataSource(NULL, ODBC_ADD_DSN,
"Microsoft Access Driver (*.mdb, *.accdb)",
(LPCSTR)szDesc);
delete szDesc;