数据库为什么传到服务器上后就出错呢?

ok1000 2004-01-30 06:05:29
ASP的查询页面!在本机上运行一切正常,传到服务器上就提示:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

/DFCX/cxjg.asp,行309



...全文
42 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwonline99 2004-02-02
  • 打赏
  • 举报
回复
另外检测密码不能用您的那种方法,应该这样做。
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 5.0">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<!--#include virtual ="/ccms/styles.asp"-->

</HEAD>

<body bgcolor="#99bbc3">

<!--#include virtual ="/ccms/header.htm"-->
<!--#include virtual ="/ccms/ccms_connect.asp"-->
<!--#include virtual ="/ccms/md5.asp"-->

<%
'接收表单传入的参数
m_id = trim(Request.Form("id"))
'm_password = trim(Request.Form("password"))
m_password = md5(trim(Request.Form("password")))

'校验口令
sqlstmt = "select * from ccms_teller "
sqlstmt = sqlstmt & "where tellerno = '" & m_id & "'"
sqlstmt = sqlstmt & " and password = '" & m_password & "'"
Rs.Open sqlstmt, conn
If Rs.EOF Then
Response.Write "<b>非法用户!请您认真核对您的用户名和口令!<b>"
Response.End
End If
session("tellerno")=rs("tellerno")
session("rank")=rs("rank")
session("tellername")=rs("tellername")
session("functionid_view")=rs("functionid_view")
session("functionid_modify")=rs("functionid_modify")
session("lcgl")=rs("lcgl")
session("department")=rs("department")

Rs.close
Response.Write "<BODY LANGUAGE=VbScript OnLoad = javaScript:window.open('Main.asp','_self')>"
%>

<!--#include virtual ="/ccms/footer.htm"-->
</body>
</html>
zwonline99 2004-02-02
  • 打赏
  • 举报
回复
您可以这样试试。
<%
Set conn=CreateObject("ADODB.Connection")
conn.open "DSN=dfcxaccess;uid=;pwd="

set rs=server.createobject("adodb.recordset")
Rs.CursorType = 3
Rs.LockType = 3

sqlstmt = "select * from biao1"
Rs.Open sqlstmt, conn
%>
ok1000 2004-02-02
  • 打赏
  • 举报
回复
麻烦各位了,急用呀!
ok1000 2004-02-02
  • 打赏
  • 举报
回复
没人说话?
ok1000 2004-02-02
  • 打赏
  • 举报
回复
还是不行呀!一模一样的错误!
ttt2 2004-02-02
  • 打赏
  • 举报
回复
rs.open sql,conn,1,3
ok1000 2004-02-02
  • 打赏
  • 举报
回复
我按用以下代码替换我以前的:
<html>
<head>
<TITLE>查询结果</TITLE>
<!--#INCLUDE file="ADOVBS.INC" -->
</html>
<body bgcolor="#FFFFFF">
<%
userid=request.querystring("userid")
pwd=request.querystring("pwd")
dim conn
dim connstr
dim db
db="cdf\dfcxaccess.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from biao1"
rs.open sql,conn

do
if userid=rs("name") then
if pwd=rs("psd") then
df=rs("df")
response.write df
i=1
exit do
else
response.write"密码错误"
i=1
exit do
end if
end if
if not rs.eof then
rs.movenext
end if
loop until rs.eof
if i<>1 then
response.write"无此用户名"
end if
rs.close
set rs=nothing



%>
</BODY>
</HTML>



运行后提示:
错误类型:
Microsoft JET Database Engine (0x80004005)
/cxjg.asp, 第 16 行


改成各位说的代码了,可是还是不行呀!
易寒 2004-02-02
  • 打赏
  • 举报
回复
adodb.connection是建立数据源(打开数据库),adodb.recordset是建立记录集(筛选出记录),
楼主你用的是定义的系统数据源,一但你将文件上传到服务器之后,服务器上没有定义你所要的数据源,所以当然不能正常显示了,所以建议你手动设置数据源,把这句conn="dsn=dfcxaccess"改为
假设当前文件路径为"/index.asp",数据库路径为"/data/web.mdb"
connstr="dbq="+server.mappath("data/web.mdb")+";driver={microsoft access driver (*.mdb)};"
set conn=server.createobject("adodb.connection")
conn.open connstr
ok1000 2004-02-01
  • 打赏
  • 举报
回复
dim conn
dim connstr
dim db
db="database\dfcxaccess.mdb"-------(这里直接输入数据库名而不输入路径可以吗?)
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr
ok1000 2004-02-01
  • 打赏
  • 举报
回复
服务器DSN上有“dfcxaccess”吗?


我已经传上去了!
  • 打赏
  • 举报
回复
Set conn = Server.CreateObject("ADODB.Connection")
应该加上这个建立对象先
ok1000 2004-01-31
  • 打赏
  • 举报
回复
ok1000 2004-01-31
  • 打赏
  • 举报
回复
非常感谢各位的帮助!

确实用了DSN,但我可是按书上写的一步一步来的呀!用的是"系统DSN"并且新增加了DRIVER也选择了对应的数据库了!


Set conn = Server.CreateObject("ADODB.Connection")
怎么是:"ADODB.CONNECTION"????

我写的是:
conn="dsn=dfcxaccess"
set rs=server.createobject("adodb.recordset")
sql="select * from biao1"
rs.open sql,conn

不知对吗?另外问一下: 建立ADODB.CONNECTION与建立ADODB.RECORDSET有何区别?我见楼上各位大哥写的与我的不同呀!
mr0lwq 2004-01-31
  • 打赏
  • 举报
回复
服务器DSN上有“dfcxaccess”吗?
tzbxf 2004-01-31
  • 打赏
  • 举报
回复
ADOVBS.INC文件在机器中搜索一下,装了PWS后机器里有这个文件!
ok1000 2004-01-31
  • 打赏
  • 举报
回复
按下面的代码来做,应该可以了吧!!!麻烦各位再给看看有没有写错的地方!!!
按这样做的话,就不用再本机上设置别的什么了吧!上传到服务器上也能直接用了吧!??



dim conn
dim connstr
dim db
db="database\dfcxaccess.mdb"-------(这里直接输入数据库名而不输入路径可以吗?)
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
conn.Open connstr


userid=request.querystring("userid")
pwd=request.querystring("pwd")
set rs=server.createobject("adodb.recordset")
sql="select * from biao1"
rs.open sql,conn


还有就是:程序需要ADOVBS.INC文件, 这个文件是自己建的吗?如何建?
guokai1217 2004-01-31
  • 打赏
  • 举报
回复
哎,来晚了,问题都被大家回答完了.没劲!
loveweb 2004-01-31
  • 打赏
  • 举报
回复
set conn = server.createobject("adodb.recordset")
conn="dsn=dfcxaccess"
set rs=server.createobject("adodb.recordset")
sql="select * from biao1"
rs.open sql,conn
纪俊 2004-01-31
  • 打赏
  • 举报
回复
建立ADODB.CONNECTION与建立ADODB.RECORDSET有何区别?

ADODB.CONNECTION是数据库连接
ADODB.RECORDSET是打开数据库之后用SQL命令得到的数据集

你要像楼上说的那样建立连接对象才行
TrueAndFalse 2004-01-30
  • 打赏
  • 举报
回复
www.connectionstrings.com
加载更多回复(5)

28,407

社区成员

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

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