ACCESS不可识别的数据库格式!

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:33:10
问题:我用ACCESS打开一个数据库文件时,出现“不可识别的数据库格式x:\xxx\az.mdb”原来是az.ASP的,是我把他改成*.mdb格式的。我用ACCEASS 2000的和2003的都试过了,都打不开,但是在网页中又可以正常使用(留言)‘一个留言簿的’。网页的连接程序是这样的(不含引号)
“<!--#include file="NK_SqlIn.asp"-->
<%
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.jet.oledb.4.0;data source="&server.mappath("date/az.asp")
conn.open connstr
%>”
哪位高手帮帮我啊!我想打开,
并且请说详细一点,我才刚学了。
!!!我确定了他是一个数据库文件,用记事本打开是乱码,用Macromedia Dreamweaver MX 2004打开也是乱码,而且我做一个ACCESS 2000的文件再用记事本打开和那个打不开的文件是一样的乱,不过前面一段相同,帮忙啦!!!大家@

在Access07之前的数据库后缀名均为*.mdb 而连接字符串写成Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myFolder\*.mdb ;Persist Security Info=False;
但是Access07和Access10将后缀名改为了*.accdb。
而通过上述连接的话就会报出"不可识别的数据库格式"异常。
需要注意的是Microsoft.Jet.OLEDB.4.0的Oledb的连接方式是比较老的连接方式,而07以后的Oledb连接方式将改成Microsoft.ACE.OLEDB.12.0。
改后的连接变成了Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\*.accdb;Persist Security Info=False;

小窍门:
在asp.net中经常把连接字符串写在web.config中。但是access的连接字符串是需要数据库的绝对位置。即 盘符:/文件夹/文件 这样就导致经常把文件拷贝后需要改路径的问题。其实完全可以通过程序来获得数据库文件的绝对路径。
具体如下:
web.config中只写数据库文件名 (一般会把数据库文件放在App_Data文件夹下,因为有一定的安全性)
<appSettings>
<add key="ConnString" value="App_Data\ManageDB.accdb"/>
</appSettings>
然后在DBHelper类获得字符串的写上如下方法:
public static string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationSetting