Как указать формат драйвера доступа ODBC при создании базы данных - PullRequest
2 голосов
/ 09 февраля 2012

Используя C, я пытаюсь создать файл базы данных Access 2007 с использованием ODBC с помощью функции SQLConfigDataSource .

char szDriverName[] = "Microsoft Access Driver (*.mdb, *.accdb)";
char szAttr[] = "CREATE_DB=c:\access2007.accdb";
SQLConfigDataSource(NULL, ODBC_ADD_DSN, szDriverName, szAttr);

Я хочу, чтобы расширение файла новой базы данных было .accdb, но когда я запускаю приведенный выше код, я всегда получаю c: \ access2007.accdb.mdb. Я могу указать 12.x (accdb) или 4.x (mdb) из ODBC Admin, как на изображении ниже, но как мне сделать это через ODBC API?

Create Database with ODBC Microsoft Access drivers

Я могу создать пользовательский DSN, однако мне кажется, что он также имеет неправильный формат, поскольку я его не проверял.

Как определить версию формата с помощью ODBC / Access API?

1 Ответ

3 голосов
/ 14 февраля 2012

Использовать CREATE_DBV12:

char szDriverName[] = "Microsoft Access Driver (*.mdb, *.accdb)";
char szAttr[] = "CREATE_DBV12=c:\access2007.accdb";
SQLConfigDataSource(NULL, ODBC_ADD_DSN, szDriverName, szAttr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...