MFC ODBC SQLConfigDataSource() Pengecualian Tidak Tertangani

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;

person Hunter    schedule 27.09.2019    source sumber


Jawaban (2)



Kesalahan ini terjadi ketika Microsoft Access Database Engine 2016 Redistributable diinstal. Saya menginstal Redistributable 2010 dan berjalan dengan sempurna tanpa masalah apa pun.

person Hunter    schedule 30.09.2019