asp连接access 2007与 access 2003数据库的conn代码

 

asp连接access 2007 access 2003数据库的conn代码

随着微软发布ms access 2007,原来使用asp访问access2003的连接语句:

例如连接一个当前目录下的#site.mdb文件可用

Set conn=Server.CreateObject("ADODB.CONNECTION")

conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("#site.mdb")’此处路径页可使用绝对路径,例如

‘Data Source=E:\test.accdb

也需要改成:

Set conn=Server.CreateObject("ADODB.CONNECTION")

conn.open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("#site.accdb")’此处路径页可使用绝对路径,例如

‘Data Source=E:\test.accdb

       可以看出,Access2007在数据格式上有很大变化,它的Provider(提供商)也有改动.驱动号也不同! 注意access 2007和以前的access 2003连接字符串有三个明显不同的地方:

Provider部分由Microsoft.Jet.OLEDB变成了Microsoft.ACE.OLEDB
以前的jet4是连接不上的;

驱动版本号由4.0变成了12.0

数据库的扩展名变为accdb而非mdb

 

同时,如果由ACCESS2007转到ACCESS2003,则需要注意检查系统中是否安装了microsoft.jet.oledb数据源驱动,如果没有,则按照如下方法进行安装:

先安装MDAC 2.7,如果没有安装的话是不可能运行ACCESS的。在安装目录WCU文件夹下面应该有MDAC的安装包,还有就是你的驱动申明应该使用 microsoft.jet.oledb.4.0”;MDAC 2.7做成打包文件以后选择jet引擎,安装以后就行了。

同样的道理,如果由ACCESS2003转到ACCESS2007,则也要检查系统中是否安装了microsoft.ace.oledb驱动。

驱动是连接应用程序与底层数据源的桥梁,里面封装了各种增删改查以及备份或还原的函数;如果没有驱动,aspasp.net甚至java将无法直接访问access底层数据源。

 

asp访问access时,需要将WINDOWS/TEMP目录的权限设置为everyone,否则asp将无法访问access,访问时会出现80045……之类的错误,微软竟然将数据库内容放到根目录下的临时文件夹中,难怪漏洞很多!

 

你可能感兴趣的:(Access)