INFO: Accessing CREATE_DB, REPAIR_DB, and COMPACT_DBLast reviewed: May 30, 1997Article ID: Q126606 |
The information in this article applies to:
SUMMARYThe help file for the ODBC version 2.0 Desktop Drivers mentions that the Microsoft Access driver will accept the keywords CREATE_DB, REPAIR_DB, and COMPACT_DB on the lpszAttributes parameter, but gives no details on their syntax.
MORE INFORMATIONThe SQLConfigDataSource lpszAttributes keywords CREATE_DB, REPAIR_DB, and COMPACT_DB cannot be used in conjunction with other keywords. If you want your programs to create a datasource and also create a new .MDB file for that datasource, you must do this in a two stage process. You must create the datasource on one call to SQLConfigDataSource, and create the new .MDB file on a separate call to SQLConfigDataSource. The syntax for these keywords are:
CREATE_DB=<path name> <sort order> REPAIR_DB=<path name> COMPACT_DB=<source path> <destination path> <sort order>where <path name> is the fully qualified path name to the .MDB file to be created or repaired. <source path> is the fully qualified path name to the .MDB file to be compacted. <destination path> is the fully qualified path name of the file after it has been compacted. <sort order> is one of the following keywords:
General, Traditional Spanish, Dutch, Swedish/Finnish, Norwegian/Danish, Icelandic, Czech, Hungarian, Polish, Russian, Turkish, Arabic, Hebrew, GreekNOTE: The General sort order covers English, French, German, Portuguese, and Italian. With CREATE_DB, the file named in <path name> must not exist at the time SQLCOnfigDataSource is called. With REPAIR_DB, the file named in <path name> must be a valid .MDB file. With COMPACT_DB, the file named in <source path> must be a valid .MDB file. <destination path> can point to the same file as <source path>, in which case the file will be compacted into the same location. If <destination path> names a different file than <source path>, the file named as the <destination path> must not exist at the time SQLConfigDataSource is called. For example, the following code segment would create a .MDB file, repair it, compress it to a second file, compress it in the same location, and then create a datasource for it.
void Config_Sample(void) { RETCODE retcode; int subscrp; extern HWND hWnd; /* Main window handle. */ UCHAR szDriver[] = "Microsoft Access Driver (*.mdb)"; UCHAR *szAttributes2[] = // Create the original .mdb file. {"CREATE_DB=c:\\odbcsdk\\smpldata\\access\\general.mdb General\0\0", // Issue a REPAIR_DB on the created file. "REPAIR_DB=c:\\odbcsdk\\smpldata\\access\\general.mdb\0\0", // Compact the file into a new location. "COMPACT_DB=c:\\odbcsdk\\smpldata\\access\\general.mdb " "c:\\odbcsdk\\smpldata\\access\\general2.mdb General\0\0", // Compact the file onto itself. "COMPACT_DB=c:\\odbcsdk\\smpldata\\access\\general.mdb " "c:\\odbcsdk\\smpldata\\access\\general.mdb General\0\0", // Create a datasource for the first .mdb file created. "DSN=albacc\0FIL=MS Access\0JetIniPath=odbcddp.ini\0" "DBQ=c:\\odbcsdk\\smpldata\\access\\general.mdb\0" "DefaultDir=c:\\odbcsdk\\smpldata\\access\0\0"}; for (subscrp = 0; subscrp <= ((sizeof szAttributes2 / sizeof(UCHAR *)) - 1); subscrp++) { retcode = SQLConfigDataSource(hWnd, ODBC_ADD_DSN, szDriver, szAttributes2[subscrp]); if (retcode != TRUE) handle_error(retcode); } return; } |
Additional query words: 2.00.2317 Windows NT SQLConfigDataSource desktop
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |