ASP中连接数据库的毛病解决办法ASP 编程中 20 个非常有效的例子.docx
- 文档编号:25585524
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:30
- 大小:35.09KB
ASP中连接数据库的毛病解决办法ASP 编程中 20 个非常有效的例子.docx
《ASP中连接数据库的毛病解决办法ASP 编程中 20 个非常有效的例子.docx》由会员分享,可在线阅读,更多相关《ASP中连接数据库的毛病解决办法ASP 编程中 20 个非常有效的例子.docx(30页珍藏版)》请在冰豆网上搜索。
ASP中连接数据库的毛病解决办法ASP编程中20个非常有效的例子
http:
//www.moon-
<%
dimConnString
setconn=server.CreateObject("adodb.connection")
ConnString="provider=microsoft.jet.oledb.4.0;datasource="&server.MapPath("#kucun.mdb")
conn.openConnString
'连接数据库
%>
2000下使用asp访问数据库时,在conn.open始终发生8007007f错误,重装IIS和access均得不到解决。
我在网上查到的解决办法是将 oledb32.dll 解压到以下两个目录,然后重启服务器:
1) C:
\WINNT\system32\dllCache
2) C:
\Program Files\Common Files\System\OLE DB
<%
dimconn,exec,rs
setconn=server.createobject("adodb.connetion")
conn.open"driver={microsoftaccessdriver(*.mdb)};dbq="&server.mappath("show.mdb")
exec="select*fromlist"
setrs=server.createobject("adodb.recordset")
rs.open,exec,conn,1,1
%>
ASP中连接数据库的错误解决新解决办法
Provider错误80004005未指定的错误的新解决办法.
这两天运行的好好的点击统计程序突然出错了,显示的就是:
------------------------------------------
Provider错误80004005
未指定的错误
------------------------------------------
在网上找了一大圈,发现大家提供的办法我都试过了,没有一个有作用的.方法有以下:
1.
开始运行regsvr32jscript.dll(命令功能:
修复Java动态链接库)
开始运行regsvr32vbscript.dll(命令功能:
修复VB动态链接库)
开始运行iisreset(命令功能:
重启IIS)
开始运行msjetoledb40.dll
2.
给系统临时文件夹%windir%/temp/加上IUSR_COMPUTER用户的读写权限
3.
ASP连接Access数据库的时候,如果频繁刷新页面,出现80004005未指定错误,数据库不能连接,但是过大约10多分钟后再刷新就可以连接。
有关的补丁都已经打过,问题依旧。
最后判断与IIS6的缓冲有关,在IIS配置中找到应用程序池,DefaultAppPool属性中的性能页,调整WEB园的进程数(任何值,1也可),应用确定后,问题解决.
用了以上的方法都没解决我的问题,于是重装IIS,仍然恢复正常.只能靠自己继续努力了.
根本ASP的工作流程,想来想去应该还是在临时文件的问题上,不过临时文件夹的目录已经给了IUSR的权限了,怎么还不对呢.抱着试试看的心理,清空了临时文件夹下所有的内容,奇迹出现了,ASP连接数据库的页面恢复正常了!
快速掌握ASP连接11种数据库的常用语法:
本文主要介绍了ASP连接11种数据库的常用语法,详细内容请参考下文:
1.Access数据库的DSN-less连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&_
Server.MapPath("数据库所在路径")
2.AccessOLEDB连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"&_
"DataSource="&Server.MapPath("数据库所在路径")
3.SQLserver连接方法:
以下为引用的内容:
setadocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQLServer};Server=(Local);UID=***;PWD=***;"&_
"database=数据库名
4.SQLserverOLEDB连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;DataSource=RITANT4;"&_
"userID=***;Password=***;"&_
"initalCatalog=数据库名"
5.Oracle连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoftodbcfororacle};
server=oraclesever.world;uid=admin;pwd=pass;"
6.OracleOLEDB连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;datasource=dbname;
userid=admin;password=pass;"
7.dBase连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Driver=
{microsoftdbasedriver(*.dbf)};driverid=277;dbq=--;"
8.mySQL连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;
uid=username;pwd=yourpassword;option=16386;"
9.VisualFoxpro连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoftVisualFoxprodriver};
sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
10.MStext连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft
textdriver(*.txt;*.csv)};dbq=-----;"&_
"extensions=asc,csv,tab,txt;PersistSecurityInfo=false;"
11.MStextOLEDB连接方法:
以下为引用的内容:
setadocon=Server.Createobject("adodb.connection")
adocon.open"Provider
=microsof.jet.oledb.4.0;datasource=your_path;"&_
"ExtendedProperties'text;FMT=Delimited'"
Asp中五种连接数据库的方法
第一种
setconn=server.createobject("adodb.connection")
setrs=server.createobject("adodb.recordset")
DBPath=Server.MapPath("您的数据库文件.mdb")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
sql="select*from数据库中的表名"
Rs.opensql,conn,3,2
第一种-这种方法用在ACCESS中最多
strconn="DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&Server.MapPath("aspfree.mdb")
setconn=server.createobject("adodb.connection")
conn.openstrconn
第二种-这种方法用在SQLSERVER中多
strconn="Driver={SQLServer};Description=sqldemo;SERVER=127.0.0.1;UID=LoginID;PWD=Password;DATABASE=Database_Name
setconn=server.createobject("adodb.connection")
conn.openstrconn
第三种
strconn="Driver={MicrosoftAccessDriver(*.mdb)};"&_
"DBQ=F:
\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=f:
\Inetpub\wwwroot\somedir;uid=LoginID"&_
"pwd=Password;DriverId=25;FIL=MSAccess;"setconn=server.createobject("adodb.connection")
conn.openstrconn
第四种运用系统数据源
ThefollowingusesaDataSourceName:
setconn=server.createobject("adodb.connection")
conn.open"Example"
第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源
setrs=server.createobject("adodb.recordset")
rs.open"tblname","DSNName",3,3
快速掌握ASP+Access数据库的18条安全法则
ASP+Access数据库的18条安全法则:
1.首先,我们需要过滤所有客户端提交的内容,其中包括?
id=N一类,另外还有提交的html代码中的操作数据库的select及asp文件操作语法,大家可以把提交的字符转义,然后再存入数据库。
2.然后需要对访问Access数据库的页面进行授权,针对显示数据页面只能使用select语句,过滤其他的update,asp文件则分为许可访问数据库页面和限制访问页。
3.修改数库据连接文件名conn.asp为类似123ljuvo345l3kj34534v.asp文件。
4.修改数据库名为类似q397d0394pjsdlkfgjwetoiu.asp文件。
5.给Access数据库加上连接密码(虽然可以破解,对付菜鸟,和防止上传文件无限制连接数据库)。
6.用Access软件对数据库进行编码加密。
7.用md5等加密算法加密用户密码,密码提示问题一类的字段。
8.限制搜索引擎对相关页面的搜索。
9.防止数据库被下载工具下载,如在数据库里加入等防止向客户端输出的语句。
10做好asp上传文件模板的安全管理,防止上传asp木马。
11.拒绝客户端访问数据库存连接文件,只准服务器asp文件访问。
12.限制同一客户端ip访问数据库次数。
13.如果有必要对存入数据库的内容进行加密,返回给客户端进行解密,就算数据库被下载了,也不可能轻易得到加密的原始内容。
14.对连接服务的头内容进行限制,如只许可IE访问。
15.防止通过文件查看方式,得到数据库信息,可用客户端输入密码,对密码和内容,用一定算法存入数据库,输出时,让客户端输入密码,对内容进行解密。
16.你可以把表名和字段名改为aslkejrwoieru,werkuwoeiruwe类似的字符。
17.防止在数据库里加入让改名为.asp的数据执行,可转义代码等让asp执行出错的内容。
18.最后需要注意的是,最好用odbc连接数据库,并要加上连接的密码
实例:
ASP与ACCESS链接
本文例举了ASP实例关于ASP与ACCESS链接的两种方式。
以下为引用的内容:
<%
dimdd,connstr
dd="data.mdb"
connstr="provider=microsoft.jet.oledb.4.0;datasource="&server.mappath(""&dd&"")
setbb=server.createobject("adodb.connection")
bb.openconnstr
%>
<%
dimbb,connstr
connstr="provider=microsoft.jet.oledb.4.0;datasource="&server.mappath("data.mdb")
setbb=server.createobject("adodb.connection")
bb.openconnstr
%>
ASP网站Serverobjecterror的解决办法
症状:
访问asp网页的时候出现如下错误:
Serverobjecterror''ASP0178:
80070005''
Server.CreateObjectAccessError
/_fpclass/fpdbrgn1.inc,line99
ThecalltoServer.CreateObjectfailedwhilecheckingpermissions.Accessisdeniedtothisobject.
解决方法:
1)浏览到"%ProgramFiles%/CommonFiles/System目录
2)右键点击该目录,选择"属性"
3)在“安全“一栏添加everyone用户,并赋予对该目录的至少可读权限。
导致该出错信息的原因主要是应为ntfs权限设置不当导致的。
这点在win2003server里面发生的比较多。
[推荐]ASP初学者常犯的几个错误
ASP初学者常犯的几个错误
1.记录集关闭之前再次打开:
------------------------------------
sql="select*fromtest"
rs.opensql,conn,1,1
ifnotrs.eofthen
dimmyName
myName=rs("name")
endif
sql="select*frommyBook"
rs.opensql,conn,1,1
-------------------------------------
解决:
在第二次rs.open之前先关闭rs.close
或
setrs1=server.createobject
rs1.opensql,conn,1,1
2,用SQL关键字做表名或字段名
-------------------------------------
sql="select*fromuser"
rs.opensql,conn,1,1
-------------------------------------
user为sql关键字
解决:
改为
sql="select*from[user]"
3,用锁定方式去进行update
-------------------------------------
sql="select*from[user]"
rs.opensql,conn,1,1
rs.addnew
或
rs("userName")="aa"
rs.update
-------------------------------------
当前记录集的打开方式为只读
解决:
改为
rs.opensql,conn,1,3
4,在查询语句中采用的对比字段值与字段类型不符
-----------------------------------------
sql="select*from[user]whereid=';"&myID&"';"
rs.opensql,conn,1,1
-----------------------------------------
假设表中设计ID为数字型,那么些时出错。
解决:
sql="select*from[user]whereid="&myID
5,未检查变量值而出错
-----------------------------------------
sql="select*from[user]whereid="&myID
rs.opensql,conn,1,1
-----------------------------------------
假设myID变量此时值为null,那么sql将成为
sql="select*from[user]whereid="
解决:
在前面加上
ifisnull(myID)then出错提示
6,未检查变量值类型而出错
-----------------------------------------
sql="select*from[user]whereid="&myID
rs.opensql,conn,1,1
-----------------------------------------
假设id为数字型,myID变量此时值不为null,但为字符,比如myID此时为"aa"
那么sql将成为
sql="select*from[user]whereid=aa"
解决:
在前面加上
ifisnumeric(myID)=falsethen出错提示
这也可以有效防止sqlinjection漏洞攻击。
7,由于数据库文件所在目录的NTFS权限而引起的';不能更新。
数据库或对象为只读"错误。
说明:
WIN2K系统延续了WINNT系统的NTFS权限。
对于系统中的文夹都有默认的安全设置。
而通过HTTP对WWW访问时的系统默认用户是iusr_计算机名用户,它属于guest组。
当通过HTTP访问时,可以ASP或JSP,也或是PHP或.NET程序对数据进行修改操作:
比如:
当打开某一个文章时,程序设定,文章的阅读次数=原阅读次数+1
执行
conn.execute("updateartssetclicks=clicks+1whereid=n")
语句时,如果iusr_计算机名用户没有对数据库的写权限时,就会出错.
解决方法:
找到数据库所在目录
右键》属性》安全选项卡》设置iusr_计算机名用户的写权限(当然,也可以是everyone)
[推荐]ASP编程中20个非常有用的例子
1.如何用Asp判断你的网站的虚拟物理路径
答:
使用Mappath方法
ThePhysicalpathtothisvirtualwebsiteis:
<%=Server.MapPath("\")%>
2.我如何知道使用者所用的浏览器?
答:
使用theRequestobject方法
strBrowser=Request.ServerVariables("HTTP_USER_AGENT")
IfInstr(strBrowser,"MSIE")<>0Then
Response.redirect("ForMSIEOnly.htm")
Else
Response.redirect("ForAll.htm")
EndIf
3.如何计算每天的平均反复访问人数
答:
解决方法
<%startdate=DateDiff("d",Now,"01/01/1990")
ifstrdate<0thenstartdate=startdate*-1
avgvpd=Int((usercnt)/startdate)%>
显示结果
<%response.write(avgvpd)%>
thatisit.thispagehavebeenviewedsinceNovember10,1998
4.如何显示随机图象
<%dimp,ppic,dpic
ppic=12
randomize
p=Int((ppic*rnd)+1)
dpic="graphix/randompics/"&p&".gif"
%>
显示
5.如何回到先前的页面
答:
或用图片如:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP中连接数据库的毛病解决办法ASP 编程中 20 个非常有效的例子 ASP 连接 数据库 毛病 解决办法 编程 非常 有效 例子