关于Server.CreateObject 失败

liyufu86 2010-01-05 03:18:32
问题:
Server 对象 错误 'ASP 0177 : 800401f3'

Server.CreateObject 失败

/inc/conn.asp,行 9

800401f3

出错语句:
代码:

<%
session.timeout=60
dim conn
dim connstr
dim db
db="/database/tsinghuavc.mdb" '数据库文件位置
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
'On Error Resume Next
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"'注释,需要把这几个字翻译成英文。
Response.End
End If

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

这一句报错。
服务器上WINDOWS 2003
IIS6
知道的告知一声。在线等,
谢谢
...全文
421 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
hebhd 2010-01-06
  • 打赏
  • 举报
回复
oledb 连接不上
有可能是Temp目录的权限不够.
先放开windows Temp目录的权限 及iis目录的所有权限
liyufu86 2010-01-06
  • 打赏
  • 举报
回复
还是没解决...
oledb 始终连接不上
hebhd 2010-01-06
  • 打赏
  • 举报
回复
不管你用哪种连接方式 oledb 还是 access 因为是在本地调试。建议先用odbc 测试连接
ender129 2010-01-06
  • 打赏
  • 举报
回复
改很多? 不用改很多啊 我这个 在xp 2003 2008 下都没问题
因为天天都在用 这个是个单独的文件conn.asp
我要用的时候就是改一下 数据库位置别的都不改
如果index.asp要用 我直接<!--#include file="Conn.asp"-->
这样就可以了啊
liyufu86 2010-01-06
  • 打赏
  • 举报
回复
但是服务器有很多系统
用你这个得改很多的。
不知道用原来的连接方式出错的原因

mdac版本不对?
ender129 2010-01-06
  • 打赏
  • 举报
回复
如果用我的代码 好使证明 iis 和系统 都没问题
其他的 就是 改代码了 这样缩小范围 也好办
一点点排查问题
liyufu86 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 ender129 的回复:]
引用 30 楼 liyufu86 的回复:
谢谢楼上的
我重新注册了下adodb的组件貌似好了
但是现在有新问题

报:ADODB.Connection 错误 '800a0e7a'

未找到提供程序。该程序可能未正确安装。

/inc/conn.asp,行 10

是什么原因?

conn.open ConnStr
这句报错

现在好使了 是不是 那么你现在用我给你的代码 执行一下 看看
这是我昨天给你的代码
HTML code<%'session.timeout=60 我个人不是很喜欢用这个dim conn,dbdim connstr
db="../database/tsinghuavc.mdb"'数据库文件位置 ../是上级文件夹的意思 我的都没有这些 建议看一下路径 是否是上一级onerrorresumenext
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"set conn=server.createobject("ADODB.CONNECTION")if errthen
err.clearelse
conn.open connstrendifsub CloseConn()
conn.closeset conn=nothing

Response.Write"Database connection error, please check the connection string"'你是这个意思吗 变成英文 Response.Endend sub%>
[/Quote]

你这句是可以。但是访问数据表好像有问题。
为什么用Microsoft.Jet.OLEDB.4.0;的方式不行
wxb0903 2010-01-06
  • 打赏
  • 举报
回复
这类问题的确是很多的!
这个IIS问题很是麻烦的!但不要泄气啊!
有问题就有解决问题的办法!!
好好努力!!!!!!!!!!!!!!!
加油!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
hebhd 2010-01-06
  • 打赏
  • 举报
回复
如果不行。重装iis
hebhd 2010-01-06
  • 打赏
  • 举报
回复
晕.从网上下载 MDAC2.5 或更高版本~~~
ender129 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 liyufu86 的回复:]
谢谢楼上的
我重新注册了下adodb的组件貌似好了
但是现在有新问题

报:ADODB.Connection 错误 '800a0e7a'

未找到提供程序。该程序可能未正确安装。

/inc/conn.asp,行 10

是什么原因?

conn.open ConnStr
这句报错
[/Quote]
现在好使了 是不是 那么你现在用我给你的代码 执行一下 看看
这是我昨天给你的代码

<%
'session.timeout=60 我个人不是很喜欢用这个
dim conn,db
dim connstr
db="../database/tsinghuavc.mdb"
'数据库文件位置 ../是上级文件夹的意思 我的都没有这些 建议看一下路径 是否是上一级
on error resume next
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
if err then
err.clear
else
conn.open connstr
end if
sub CloseConn()
conn.close
set conn=nothing

Response.Write "Database connection error, please check the connection string"
'你是这个意思吗 变成英文
Response.End

end sub
%>

liyufu86 2010-01-06
  • 打赏
  • 举报
回复
谢谢楼上的
我重新注册了下adodb的组件貌似好了
但是现在有新问题

报:ADODB.Connection 错误 '800a0e7a'

未找到提供程序。该程序可能未正确安装。

/inc/conn.asp,行 10

是什么原因?

conn.open ConnStr
这句报错
ender129 2010-01-06
  • 打赏
  • 举报
回复
你先安装access试试 我上班呢 公司不让上QQ 我们都是内部rtx通讯
安装之后用我的那个代码 试试 代码里面数据库路径 你修改一下 就行了
看出不出错误 我的那个数据库语句天天用 应该没问题
ender129 2010-01-06
  • 打赏
  • 举报
回复
不过 2003 有个很有意思的问题就是 如果你的服务器装的是2003 那么你不用安装access 你写的asp语句调用数据库都好使 就是没有图形化的可视窗口 很奇怪 所以你不好使的话 还是先安装一个 access 试试吧 再不好使 你再说话 帮你找找问题 我也是新手 解决难题就是给 自己提高
liyufu86 2010-01-06
  • 打赏
  • 举报
回复

<%
session.timeout=60
dim conn
dim connstr
dim db
db="../database/tsinghuavc.mdb" '数据库文件位置
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
'On Error Resume Next
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"'注释,需要把这几个字翻译成英文。
Response.End
End If

这是全部语句
貌似没有用ACCESS的驱动去连接
liyufu86 2010-01-06
  • 打赏
  • 举报
回复
楼上的,能加我下QQ吗?
我感觉应该就是这个问题!怎么安装?
急...
感试了一段语句
<%
set fs=Server.CreateObject("Scripting.FileSystemObject")---1
Set conn = Server.CreateObject("ADODB.Connection")---------2
%>
1句没问题,就第2句报错。应该就是这个组件的问题了。
ender129 2010-01-06
  • 打赏
  • 举报
回复
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
这句话看见了吗 这就是要用到access的意思 你机器没有access 怎么打开数据库 怎么写入呢 是不是
liyufu86 2010-01-06
  • 打赏
  • 举报
回复
路径已更换
还是包那个错误
<%
session.timeout=60
dim conn
dim connstr
dim db
db="../database/tsinghuavc.mdb" '数据库文件位置
liyufu86 2010-01-06
  • 打赏
  • 举报
回复
access
是否安装时什么意思?
还要安装ACCESS?
ender129 2010-01-06
  • 打赏
  • 举报
回复
我的代码 在6楼 你先排查代码是不是有错误 然后尤其数据库位置
如果都没问题 你检查一下 你机器里面 iis 和 access 都是否安装和运转正常
如果出现问题我们也是这么排查 确定一个地方没问题 就查另一个位置 一点点来
加载更多回复(24)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧