Моя задача — обратиться к Access-Database-File * .accdb с помощью C / C ++.
Я хочу вставить Statusmessages из приложения на C / C ++. Мой выбор пал на MFC ODBC. Я довольно новичок в программировании C. Я очень много читал на эту тему и пытался найти много примеров. У меня есть только Office-2010 x64, поэтому мне нужно скомпилировать его как x64, чтобы работало Access-соединение. У меня работает Windows 10 Professional. Это Visual Studio 2015.
Я уже дал everybody
необходимое разрешение для Tempfolder% TEMP% (устраняет ошибку).
Я уже дал everybody
разрешение (Regedit) HKEY_LOCAL_MACHINE / SOFTWARE / OBDC и HKEY_LOCAL_MACHINE / SOFTWARE / Wow6432Node / OBDC для устранения некоторых ошибок реестра-разрешений.
Я очень старался, чтобы все работало как надо, но я застрял при реализации любого SQL-запроса INSERT, не вызывая этой ошибки:
Microsoft C++ exception: int at memory location
Утомленная вещь: эта Вставка работает.
DELETE работает без ошибок.
SELECT работает без ошибок.
INSERT работает, но выдает тихую ошибку в Immediate Window
,
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(616) : AppMsg - Warning: ODBC Success With Info,
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(174) : AppMsg - Fehler bei SQLSetConnectAttr-Aufruf für Treiber
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(174) : AppMsg - State:IM006,Native:0,Origin:[Microsoft][ODBC Driver Manager]
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(954) : AppMsg - DBMS: ACCESS
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(958) : AppMsg - Version: 12.00.0000
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(964) : AppMsg - ODBC Driver Manager Version: 03.80.0000
On Line: db.ExecuteSQL (sql);
Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E508.
Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E508.
On Line: db.ExecuteSQL (queryinsert);
Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E5F8.
Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E5F8.
Вот экран моего кода:
(Я не могу использовать SQLite, который я бы предпочел здесь.)
Я прошу прощения у всех вас, но я, кажется, не могу понять это самостоятельно. У меня есть проблемы, чтобы понять, что означает эта Ошибка, как я могу ее устранить или могу ли я ее игнорировать. Спасибо за ваше время.
РЕДАКТИРОВАТЬ: Вот папка проекта в архиве. http://cloud.downfight.de/index.php/s/mkuxZi7uFmnQFub обратите внимание, что база данных должна находиться в папке, которая должна быть вставлена в const LPCTSTR DBAuth
Задача ещё не решена.
Других решений пока нет …