原来运行正常的程序 access+asp ,后来把数据库导入 SQL 可是遇到了一些莫名其妙的问题。其中有一个提示是这样的:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37)
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎找不到输入表或查询 'User_Levels'。 确定它是否存在,以及它的名称的拼写是否正确。
/Check.asp, 第 28 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2) 网页代码如下:
<%
Dim adu,adp,adl,chk_id
Dim mlev,lev1,lev2,lev3,lev4,lev5,lev6,lev7
Dim chk
If Session("ManageName")="" or Session("ManagePwd")="" or Session("ManageLevel")="" Then
response.write("<script language='javascript'>alert('登陆信息过期!请重新登陆!');self.close();</script>")
response.end
Else
adu = Replace(Session("ManageName"),"'","")
adp = Replace(Session("ManagePwd"),"'","")
adl = Replace(Session("ManageLevel"),"'","") Set chk = Conn.execute("Select ID From [HQ_User] Where User_Name='"&adu&"' and PassWord='"&adp&"' and Levels='"&adl&"'")
If chk.Eof and chk.Bof Then
response.write("<script language='javascript'>alert('登陆信息过期!请重新登陆!');self.close();</script>")
response.end
Else
chk_id = chk(0)
End if
chk.Close
Set chk=Nothing
session("erpqx") = Manage_Level(adl)
End ifFunction Manage_Level(LevelStr)
Set mlev = Conn.Execute("Select Admin,CaiWuYuan,ManJinLi,CaiGouJinLi,CaiGouYuan,KuGuan,Manage,HrManage,ScManage,RpManage From [User_Levels]")
if not mlev.eof then
lev1 = mlev(0)
lev2 = mlev(1)
lev3 = mlev(2)
lev4 = mlev(3)
lev5 = mlev(4)
lev6 = mlev(5)
lev7 = mlev(6)
lev8 = mlev(7)
lev9 = mlev(8)
lev10 = mlev(9)
end if
mlev.Close
Set mlev=Nothing
If LevelStr = lev1 Then
Manage_Level = "管理员"
Else
If LevelStr = lev2 Then
Manage_Level = "财务员"
Else
If LevelStr = lev3 Then
Manage_Level = "销售经理"
Else
If LevelStr = lev4 Then
Manage_Level = "采购经理"
Else
If LevelStr = lev5 Then
Manage_Level = "采购员"
Else
If LevelStr = lev6 Then
Manage_Level = "库管"
Else
If LevelStr = lev7 Then
Manage_Level = "业务员"
Else
If LevelStr = lev8 Then
Manage_Level = "人事员"
Else
If LevelStr = lev9 Then
Manage_Level = "生产管理"
Else
If LevelStr = lev10 Then
Manage_Level = "报表管理"
End if
End if
End if
End if
End if
End if
End if
End if
End if
End if
End Function
%>注明:第28行为:
Set mlev = Conn.Execute("Select Admin,CaiWuYuan,ManJinLi,CaiGouJinLi,CaiGouYuan,KuGuan,Manage,HrManage,ScManage,RpManage From [User_Levels]")可是明明表格是存在的。而且在access中运行是正常的,迫切盼望解决的办法,谢谢~!!!
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37)
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎找不到输入表或查询 'User_Levels'。 确定它是否存在,以及它的名称的拼写是否正确。
/Check.asp, 第 28 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2) 网页代码如下:
<%
Dim adu,adp,adl,chk_id
Dim mlev,lev1,lev2,lev3,lev4,lev5,lev6,lev7
Dim chk
If Session("ManageName")="" or Session("ManagePwd")="" or Session("ManageLevel")="" Then
response.write("<script language='javascript'>alert('登陆信息过期!请重新登陆!');self.close();</script>")
response.end
Else
adu = Replace(Session("ManageName"),"'","")
adp = Replace(Session("ManagePwd"),"'","")
adl = Replace(Session("ManageLevel"),"'","") Set chk = Conn.execute("Select ID From [HQ_User] Where User_Name='"&adu&"' and PassWord='"&adp&"' and Levels='"&adl&"'")
If chk.Eof and chk.Bof Then
response.write("<script language='javascript'>alert('登陆信息过期!请重新登陆!');self.close();</script>")
response.end
Else
chk_id = chk(0)
End if
chk.Close
Set chk=Nothing
session("erpqx") = Manage_Level(adl)
End ifFunction Manage_Level(LevelStr)
Set mlev = Conn.Execute("Select Admin,CaiWuYuan,ManJinLi,CaiGouJinLi,CaiGouYuan,KuGuan,Manage,HrManage,ScManage,RpManage From [User_Levels]")
if not mlev.eof then
lev1 = mlev(0)
lev2 = mlev(1)
lev3 = mlev(2)
lev4 = mlev(3)
lev5 = mlev(4)
lev6 = mlev(5)
lev7 = mlev(6)
lev8 = mlev(7)
lev9 = mlev(8)
lev10 = mlev(9)
end if
mlev.Close
Set mlev=Nothing
If LevelStr = lev1 Then
Manage_Level = "管理员"
Else
If LevelStr = lev2 Then
Manage_Level = "财务员"
Else
If LevelStr = lev3 Then
Manage_Level = "销售经理"
Else
If LevelStr = lev4 Then
Manage_Level = "采购经理"
Else
If LevelStr = lev5 Then
Manage_Level = "采购员"
Else
If LevelStr = lev6 Then
Manage_Level = "库管"
Else
If LevelStr = lev7 Then
Manage_Level = "业务员"
Else
If LevelStr = lev8 Then
Manage_Level = "人事员"
Else
If LevelStr = lev9 Then
Manage_Level = "生产管理"
Else
If LevelStr = lev10 Then
Manage_Level = "报表管理"
End if
End if
End if
End if
End if
End if
End if
End if
End if
End if
End Function
%>注明:第28行为:
Set mlev = Conn.Execute("Select Admin,CaiWuYuan,ManJinLi,CaiGouJinLi,CaiGouYuan,KuGuan,Manage,HrManage,ScManage,RpManage From [User_Levels]")可是明明表格是存在的。而且在access中运行是正常的,迫切盼望解决的办法,谢谢~!!!
数据库是可以连接的 部分asp+sql 程序可以正常运行。不知道还需要什么相应的权限?数据库连接方式如下:Response.Buffer = True
Dim Conn
Dim ConnStrset conn=server.createobject("adodb.connection")
connstr="driver=sql server;server=127.0.0.1;database=dzqfsl;uid=sa;pwd=123456"
conn.open connstr If Err Then
err.Clear
Set Conn = Nothing
Response.Write " Error......"
Response.End
End If问题还没有解决,继续期待中
There must be somewhere in your code that is still using Access database rather than SQL Server. The error message clearly states that the error relates to Microsoft Jet engine rather than SQL Server.BTW, your ASP code is very prone to SQL Server injection. You are dynamically constructing a SQL statement and issuing to the server. Assume the variable Session("ManageName") contains the string "1=1; delete from [level]". Think about how this is going to affect your database and application in general.
英文看得不是很懂,好像和 User_Levels 这样的表名字 没关系。改了一下表名,问题依旧。
继续期待中。
2.再次确认表是否在数据中存在,用SA登录,查询:select * from sysobjects where name ='架构名.你的表名' and xtype='u',如果查询不到,把表名换全角状态下的再执行一次,如果没有返回记录,说明没有存在这个表。
<html>
<head>
<title>管理中心</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="Image/style.css" type=text/css rel=stylesheet>
<script language="JavaScript" src="Image/js.js"></SCRIPT>
</head>
<body text="#000000"><%
set conn=server.createobject("adodb.connection")
connstr="driver=sql server;server=127.0.0.1;database=dzqfsl;uid=sa;pwd=123456"
conn.open connstr
%>
<%'
set rs=server.CreateObject("adodb.recordset")
sql="select * from User_Levels"
rs.open sql,conn,1,1
if rs.eof And rs.bof then
Response.Write "<p align='center' class='contents'> 对不起,没有找到相关信息!</p>"
end if %><%=rs("admin")%><%
rs.close
set rs=nothing
%>
</html>期待解决中~!!!