The database suffix name before Access07 is *.mdb and the connection string is written provider=microsoft.jet.oledb.4.0;D ata source=c:\myfolder\*.mdb; Persist Security Info=false;
However, Access07 and ACCESS10 changed the suffix name to *.accdb. The "Unrecognized database format" exception is reported by the above connection.
It is important to note that the microsoft.jet.oledb.4.0 OLE DB connection method is the older connection method, and the OLE DB connection mode after 07 will be changed to microsoft.ace.oledb.12.0.
the changed connection became provider= microsoft.ace.oledb.12.0 ;D ata source=c:\myfolder\*. ACCDB; Persist Security Info=false;
A little trick for beginners:
In ASP. NET, the connection string is often written in Web. config. However, Access's connection string is the absolute location of the database that is required. That is, the drive letter:/folder/File This leads to the problem of changing the path after copying the file frequently. You can actually get the absolute path to the database file by using the program. Specific as follows:
write-only database file name in Web. config (typically, the database files are placed under the App_Data folder because there is some security)
< appSettings >
<key= "ConnString" value= "app_data\managedb.accdb"/ >
</ appSettings >
The DBHelper class then obtains the following method for writing the string:
Public Static string " provider=microsoft.ace.oledb.12.0; Data source=" + AppDomain.CurrentDomain.BaseDirectory + configurationsettings.appsettings[" connstring"];
The absolute path to this database is obtained through AppDomain.CurrentDomain.BaseDirectory.