如何在创建数据库时指定ODBC访问驱动程序格式

使用C,我试图通过SQLConfigDataSource函数使用ODBC创建Access 2007数据库文件。

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。 我可以从ODBC Admin中指定12.x(accdb)或4.x(mdb),如下图所示,但是如何通过ODBC API执行此操作?

使用ODBC Microsoft Access驱动程序创建数据库

我能够创建用户DSN,但我觉得它也是错误的格式,因为我还没有测试过它。

如何使用ODBC / Access API定义格式版本?

使用CREATE_DBV12:

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