存档
我们的主平台是ASP+MSSQL的,下面有很多代理平台,每个代理平台为一个IIS站点,共用MSSQL。
最近发现竟然有的代理在自己的代理站点专用空间上放论坛,晕~
老大下达了命令,禁用ASP连接Access。这可是一个不小的难题啊~~~
前几天写过一篇“ASP编写组建不能调用的问题”(http://www.miaoqiyuan.cn/p/asp-dll/),用该文的思想,摸索了半天。总算找到了一种解决方法。
ASP连接ACCESS的方法无非就这3种。下面我分别给出解决的方法
1.JET连接方式(我最喜欢的方式)
< %
set dbconnection=Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "provider=microsoft.jet.oledb.4.0;data source="&dbpath
SQL="select * from auth where id=’" & user_id &"’"
SET uplist=dbconnection.EXECUTE(SQL)
%>
在注册表中找到[HKEY_CLASSES_ROOT\Microsoft.Jet.OLEDB.4.0],右键将它的权限中的Users权限改成禁用即可。
2.驱动连接方式
< %
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
SQL="select * from auth where id=’" & user_id &"’"
SET uplist=dbconnection.EXECUTE(SQL)
%>
这个有点难找,目录有点深哦。不过再注册表中搜索一下Microsoft Access Driver (*.mdb)还是很容易找到的哦。
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb)],把Users组的权限去掉即可。
注意,通过该方法,还可以用{Driver do Microsoft Access (*.mdb)}连接,同理直接把[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Driver do Microsoft Access (*.mdb)]Users组权限去掉即可。
3.ODBC连接方式
建odbc源xxx
< %
set conn=server.createobject("Adodb.connection")
conn.open "DSN=xxx;UID=;PWD=;Database=customer
%>
这个用户肯定没有权限,故不考虑。
不仅是禁用了ASP连接Access,同时也禁用.NET连接Access。废话~
这个解决方案在百度上没有找出明确的答案,写出来分享给同样遇到改难题的朋友,同时也希望大家吧自己的想法分享出来。