Я пытаюсь обновить старую программу MFC на C ++, и SQLConfigDataSource вызывает необработанное исключение, когда я пытаюсь создать DSN. В сообщении об ошибке говорится:
Необработанное исключение в 0x00007FFC97D89129 (KernelBase.dll): 0x0000087A (параметры: 0xFFFFFFFF887A0001, 0x0000000000000053)
Код работает правильно и работает должным образом, но я не могу избавиться от этой ошибки.
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;