网站ADODB.Command (0x800A0E7D)的问题!

snowfoxyr 2009-02-14 07:30:52
我是asp+sql的站,本机测试时提示
“错误类型:
ADODB.Command (0x800A0E7D)
请求的操作需要 OLE DB 会话对象,而当前提供程序不支持此对象。
/news/NewsFun.asp, 第 12 行”

看了很多帖子还是没找出来问题,不知道那个大哥能帮我看一下,我把conn.asp和newsfun.asp的代码贴出来:

conn.asp:
<%
dim StrConn
dim Current_MainDir
dim conn
'StrConn="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=MCC_WebSite;Data Source=(127.0.0.1)"
StrConn="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=Endb_Mccarthy;Data Source=(127.0.0.1)"
set conn=Server.CreateObject("ADODB.connection")
Current_MainDir=server.mappath("/") & "\" '"F:\Work\Site_Business\"

function CURRENT_MAIN_DIR()
CURRENT_MAIN_DIR=Current_MainDir
end function

function OpenConn()
on error resume next
conn.open StrConn
end function

function CloseConn()
on error resume next
conn.close
end function
'文本输入转换回行函数
function convert_br(sstring)
convert_br=sstring
on error resume next
convert_br=replace(replace(sstring,chr(13)," <br>")," "," ")
end function

'文本输入转换回行函数
function convert_br_ob(sstring)
convert_br_ob=sstring
on error resume next
convert_br_ob=replace(sstring," <br>",chr(13))
end function

function convert_br_space(sstring)
convert_br_space=sstring
on error resume next
convert_br_space=replace(sstring," <br>","  ")
end function

function get_fileName(sstring,lenth)
get_fileName=""
on error resume next
get_fileName=right(sstring,lenth)
end function

%>


NewsFun.asp:
<!--#include file="../Include/Conn.asp"-->
<!--#include file="../Include/adovbs.inc"-->
<%
function getRecentNews(theNum)
dim num
dim rs
dim str
str=""
num=theNum
set objCmd=Server.CreateObject("Adodb.Command")
OpenConn
objCmd.ActiveConnection=conn
objCmd.CommandText="sp_GetFirmNews"
objCmd.CommandType=adCmdStoredProc
objCmd.Parameters.Append objCmd.CreateParameter("@Number",adInteger ,adParamInput ,,theNum)
set rs=objCmd.Execute

if (rs.eof and rs.bof) then
getRecentNews=""
exit function
end if
num=rs("NUM")
if(num>theNum and theNum <>-1) then
num=theNum
end if
for i=1 to num
strtmp=rs("News_Title")
datetmp=rs("News_Created")
if len(strtmp)>20 then
strtmp=left(strtmp,20) & "…"
end if
'strtmp=strtmp & " <font color='#CCCCCC'>(" & FormatDateTime(datetmp,2) & ") </font>"
if(str="") then
str=" <a class='linktxt1' target='_blank' href=NewsInfo.asp?NEWSID=" + rs("News_ID") + ">" & strtmp & " </a>"
else
str=str + lcase(" <br>") + " <a class='linktxt1' target='_blank' href=NewsInfo.asp?NEWSID=" + rs("News_ID") + ">" & strtmp & " </a>"
end if
rs.movenext
next
getRecentNews=str
set rs=nothing
CloseConn
end function

%>
麻烦各位大虾了,非常感谢
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
YapingXin 2009-03-03
  • 打赏
  • 举报
回复
对4楼稍稍改进一下:

(我已经好几年没写ASP代码了,如果出现个别低级语法错误,请兄弟姐妹们莫见怪,自行改过来。)

Dim Conn
Dim StrConn : StrConn = "......"

......
......

Sub OpenConn
If Not IsObject(Conn) Then Set Conn = Server.CreateObject("ADODB.Connection")
If Conn.Status <> 1 Then Conn.Open StrConn
End sub

Sub CloseConn
If IsObject(Conn) Then
If Conn.Status = 1 Then Conn.Close
Set Conn = Nothing
End if
End sub
ChinaXtHuLang 2009-03-03
  • 打赏
  • 举报
回复
顶4楼的。
archu 2009-02-16
  • 打赏
  • 举报
回复
0x800A0E7D说明你的Connection已经Close了或者是无效的,你把你的OpenConn方法改一下看看报什么错

function OpenConn()
'on error resume next
conn.open StrConn
end function


snowfoxyr 2009-02-16
  • 打赏
  • 举报
回复
没有人能帮忙吗?
snowfoxyr 2009-02-15
  • 打赏
  • 举报
回复
我试了一下,好像还是不行
  • 打赏
  • 举报
回复
<%set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set comm=Server.CreateObject("ADODB.Command")
comm.ActiveConnection=connresponse.write(comm.ActiveConnection)
conn.close%>
这是ActiveConnection应用的一个例子

28,390

社区成员

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

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