access 2007连接字符串

 

以前写网页都是用的ACCESS2003数据库,连接字符串也通常是以下两种:

一:connstr="DBQ="+server.mappath("数据库名")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)}

二、provider=Microsoft.Jet.OLEDB.4.0;data source="&Server.MapPath("数据库名")

这次重装系统后我装上了ACCESS2007,在生成数据库时,我就发现没有了MDB的数据库格式,生成后我把它名改成了MDB(有点搞笑哦,我习惯了用MDB后缀的)。

按第一种方法,在连接时数据库出现错误:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x404 Thread 0x92c DBC 0x16764c4 Jet';按网上搜的帖子处理方法,我把目录的所有权限全部加上也是一样的错误提示。

换成第二种方法,出现这种提示:不可识别的数据库格式 'F:\web\bfzz\admin\data\data.mdb';我是用ACCESS2007生成的数据库,我把后缀名改成默认的ACCDB,,错误依然。今天在网上搜ACCESS2007连接字符串,才发现是2007数据库格式发生了变化,已经不能用再使用以上两种方法连接数据库了,应换成Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“数据库名”。注意和以前的access ADO连接字符串几个三个明显不同的地方:
Provider部分由Microsoft.Jet.OLEDB变成了Microsoft.ACE.OLEDB
以前的jet4是连接不上的;
驱动版本号由4.0变成了12.0
数据库的扩展名变为accdb而非mdb。

2003:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=XXX.mdb

2007:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=XXX.accdb;

附ACCESS2007数据库连接字符串(这是我在网上查到的资料,希望对看到的朋友有点帮助):

Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Documents and Settings\chenge\My Documents\数据库1.accdb;Mode=Share Deny Read|Share Deny Write;Extended

Properties="";Jet OLEDB:System database=C:\Documents and Settings\chenge\Application Data\Microsoft\Access\System.mdw;Jet OLEDB:Registry Path=Software\Microsoft\Office\12.0\Access\Access Connectivity Engine;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=True

 

你可能感兴趣的:(.NET开发)