标题:[求助]
取消只看楼主
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
 问题点数:0 回复次数:9 
[求助]

我刚开始学习asp,以前没接触过数据库,下面的这第三行总是调试出错。 <% Set conn=Server.CreateObject("ADODB.Connection") conn.Open "driver={Microsoft Access Driver(*.mdb)};dbq=" & Server.MapPath("sample.mdb") Set rs=conn.Execute("成绩单") %> 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 我先在只知道上面的“成绩单”指的是一个acess中的表,在下面的程序里是要打开并进行数据处理的,但*.mdb和sample.mdb就不懂为什么出现了。可以帮我解答这个问题吗?是不是这个表的存放位置也有讲究?

搜索更多相关主题的帖子: 数据库 Microsoft 成绩单 数据源 
2004-08-24 14:24
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 

这是用access建的一个表的名字。这句对应的格式是这样的: Set rs=conn.Execute("数据库表或SQL语句") 书上说它的作用是:利用execute方法产生一个rs对象来操作数据库。 我也不是很明白。


2004-08-24 14:39
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 
这是刚才出问题的那个完整的程序: 输出表头 <% Set conn=Server.CreateObject("ADODB.Connection") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("sample.mdb") Set rs=conn.Execute("成绩单") %> <html> <body bgcolor="#6699dd"> Sample.mdb 数据库”成绩单“数据表七栏的表头:<UL> <% for i=0 to 6 response.Write"<Li>" & rs(i).Name next %> <% rs.close %> </UL> </body> </html> 现在一个问题解决了,又出了一个问题: 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0xb28 Thread 0xc34 DBC 0x1a81444 Jet'。 /asp实验/5-1.asp, 第 4 行 这还是在说与数据库的连接有问题啊。这次问题是出在哪儿呢?我看错误提示里有DSN,是不是系统DSN没有添加造成的问题?

2004-08-24 15:10
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 

我看了一下我用的access的“帮助”部分,里面有Microsoft(R) Access 2000(9.0.2812)的字样,这就应该是版本说明吧,这样看的话这个Access是2000版本的啊。只不过上面用的是win2000+access2000,我用的是xp+access2000。是xp不适合吗?


2004-08-26 08:15
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 
我还有一本书,叫《asp网络应用系统典型模块开发实例解析》,里面用到数据库的地方都用SQL Server 2000,是不是现在数据库都要用这个了?那本书上说SQL Server 2000要比Access功能强大。我该学哪一个呢?

2004-08-26 10:22
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 

为了那个access与xp不匹配的问题我又装了SQL,但是现在我的程序还是有问题,请大家帮忙看一下,这个数据库的连接该怎么办。 这是个服务器端验证代码的程序: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <meta http-equiv="Content-Language" content="zh-cn"> <title>登录</title> </head> <body> <div align=center> <% dim strUserName dim strPassword dim conn dim rs dim sql strUserName=Request.Form("txtUserName") strPassword=Request.Form("txtPassword") set conn=server.createobject("ADODB.Connection") conn.open"Driver={SQL Server};" & "Server=ZG-SCI-HZIEE;" & "Database=LearnAsp;" & "Uid=sql;Pwd=sql" set rs=server.createobject("ADODB.Recordset") rs.open.sql,conn,1,1 if not rs.eof then response.write"登录成功!" else response.write"登录失败!" end if set rs=nothing conn.close set conn=nothing %> </div> </body> </html> 这是出错的显示: 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝 /asp实验/verifyIDA.asp, 第 18 行


2004-09-04 15:31
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 
服务启动了,服务器名就是计算机的名字吧,我把“我的电脑”属性里的计算机名拷下来贴里面也是一样的出错啊。

2004-09-04 21:11
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 
还是一样的错。这样的错误可能会是因为在SQL Server 2000 里什么设置或是其他的设置而产生吗?我对数据库不熟,会不会那里的哪个步骤出错?

2004-09-06 20:00
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 

我又回来了。因为这个连接的问题我下了一个小的留言板,看了人家的数据库连接语句,测试都是通过的。 <% dim conn dim connstr dim db '更改数据库名字 db="book.mdb" Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") '如果你的服务器采用较老版本Access驱动,请用下面连接方法 'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(""&db&"") conn.Open connstr %> 这是人家的一个conn.asp里的语句段,我想应该是专门管与数据库的连接的吧。 我把这样的格式统到我的程序里来: 输出表头 <% dim conn dim connstr dim db '更改数据库名字 db="chengjidan.mdb" Set conn = Server.CreateObject("ADODB.Connection") connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") '如果你的服务器采用较老版本Access驱动,请用下面连接方法 'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(""&db&"") conn.Open connstr %> <html> <body bgcolor="#6699dd"> Sample.mdb 数据库“成绩单”数据表七栏的表头:<UL> <% for I=0 to 6 Response.Write"<LI>" & rs(I).Name next %> <% rs.close %> </UL> </body> </html> 现在数据库的连接没问题了,但出现了新的问题: 错误类型: Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: 'rs' /asp实验/5-1.asp, 第 19 行 我有两个问题,1。为什么换了留言板上的连接语句就能连接了?2。书上说rs是指数据库表中的列,那按这个程序运行下去应该没有错啊,是显示列的名字,类型不匹配在哪里呢?


2004-09-26 11:52
xuli
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2004-8-24
得分:0 

非常感谢你的帮助,现在程序能正常运行了。我在里面加了set rs=conn.Execute("成绩单")就可以运行了。但是关于那个数据库连接的问题能给我解释一下吗?书上没有写过这样的连接数据库的句子,就是这个:connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") 我上面也说过的我试过了连接到access的句子,也试过了连接到sql sever 2000数据库的句子,可是每次调试网页的时候都是出错说数据库拒绝访问。 多谢指点了。


2004-09-26 15:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-4532-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056844 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved