只要测试成功,马上送分,决不失言,请大虾们帮忙!急等佳音!!!!!!(30分)

  • 主题发起人 主题发起人 insect
  • 开始时间 开始时间
I

insect

Unregistered / Unconfirmed
GUEST, unregistred user!
1.如何使用ASP读取SQL数据库内的数据,我用最笨的方法(我们老板如此说。
用Odbc连接sql 数据源,)设置,但是它提示我说数据源名称不对,有时多试
几次又提示说IUSR_WEBSERVER登录失败,因为我的IIS允许匿名访问,默认的用户名为IUSR_WEBSERVER,而我的数据库在建立时都是取默认值的,并未设置
任何权限,故有这样的提示深感奇怪,请大虾们指点迷津。
2,能否不用Odbc 读取sql 数据源?最好来段详细的源代码。My E_mailbox:
xyjiang@21cn.com
 
我用PWS可以~,做过 用ODBC
IIS不太清楚
 
可能差不多!text.asp
<%
Set cn=Server.CreateObject("ADODB.Connection")
cn.Open "ASP","lanni","123" <==ODBC中设的system DSN (ASP),
SQL Server 的用户(lanni)
密码(123);
sh="select * from bc " 表 bc
set rs=cn.execute(sh)
%>

<% Do while not rs.EOF %>
<table border="1" width="20%">
<tr><% for i=0 to rs.FIELDS.COUNT-1 %>
<td><% =rs(i) %></td>
<%next%>
</tr>
<% rs.MoveNext
Loop%>
 
给你的sql server添加用户IUSR_WEBSERVER
 
test.asp

' <%
' Set cn=Server.CreateObject("ADODB.Connection")
' cn.Open "ASP","zj","760412"
' sh="select * from cwy where sbh>100"
' set rs=cn.execute(sh)
' %>

' <% Do while not rs.EOF %>
' <table border="1" width="20%">
' <tr><% for i=0 to rs.FIELDS.COUNT-1 %>
' <td><% =rs(i) %></td>
' <%next%>
' </tr>
' <% rs.MoveNext
' Loop%>
 
Faint! 如何才能显示代码!
 
烂泥:
请把代码Paste 到记事本中,再从记事本中copy code to Paste 到这个文本框中来。
谢谢!
 
不用Odbc 读取sql 数据源
我想是没有办法了
 
刚刚试过了,绝对可以代码如下:
ConnStr="driver={SQL Server};server=计算机名称;database=数据库名称;uid=sa;pwd="
set Conn=server.createobject("ADODB.CONNECTION")
Conn.open ConnStr
 
建议换PHP,一定会爱上她的.
 
在控制面板里设置“odbc数据源--系统dsn--添加--sql server
(数据库驱动程序)---完成---添加数据来源(你的数据库文件目录)-确定
在你调用数据库时加上以下代码:
<font color="red">set Conn=server.createobject("ADODB.CONNECTION")
Conn.open 你的数据库文件名</font>
ok,回家睡觉吧
 
唉,大虾们,发发慈悲吧,我都快要疯啦!
为什么你们的都可以(你们的都是用PWS,而我用IIS就不行),就我的
就........

我的网域名为domain(主域服务器名为Pweb),IIS电脑名为webserver,为独
立服务器,(装有NT4.0,IIS4.0,SQL7.0),
其中在装SQL7时是按典型按装的(因为不懂SQL server),然后再在PUBS数据库中建 立一个User表,然后就用下面的方法一个一个地测试(注:有的是网友送来的,
他们的都说是OK的),就我的就。。。。。。。。(注:在建立DSN时连接测试
是ok的,test为在下建 立的DSN源名称)

方法一:
<%

ConnStr="driver={SQL Server};server=webserver;database=pubs;uid=sa;pwd="
set Conn=server.createobject("ADODB.CONNECTION")
Conn.open ConnStr
sql="select * from user"
set rscategory=conn.excute(sql)
.....

%>
结果:Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

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

我的sql server Driver Version 是3.70.06.23.

方法二:

<%
'-- set new instance of connection with database object
Set Conn = Server.CreateObject("ADODB.Connection")

'-- open connection with database using the data source name

Conn.Open "Dsn=test;database=pubs;uid=sa;pwd="

'-- set new instance of command object
Set cmdTemp = Server.CreateObject("ADODB.Command")

cmdTemp.CommandType = 1
Set cmdTemp.ActiveConnection = Conn

Set rsCategory = Server.CreateObject("ADODB.Recordset")

sql="select * from user"

cmdTemp.CommandText = sql
rsCategory.open cmdTemp,false,0,0

while not rsCategory.eof

.....
%>

结果为:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e4d'

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'WEBserver/IUSR_WEBSERVER'.

当在Sql server 中r security 中logins 中添加webserver/Iusr_webserver
后。则出现的提示为

ADODB.Recordset 错误 '800a0bb9'

应用程序使用的参数或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。

方法三:为烂泥网友提供:
<%
Set cn=Server.CreateObject("ADODB.Connection")
cn.Open "account","sa",""

sh="select * from user "
set rs=cn.execute(sh)
%>

<% Do while not rs.EOF %>
.....
结果提示:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'user'.

还有一个不明白的地方就是为何提示的是WEBserver/iusr_webserver,而不是
domain/用户名。
再加50分,达到标准优秀分了,请各位帮帮忙吧,我真的快要疯了



Best Regards


Insect

 
关于方法一,二,三的代码我已放到
《救命!有人快疯了(asp and sql)》
问题中了,请关注,同时请帮帮忙,
对于这个问题,我真的够烦的了,
用Access 怎么那么方便呢,用sql,
简直是。。。。。。。
不想多说了。只想等救命

 
你的机器上有Delphi吧!
打开SQL explorer 看一下是否有新建的SYSTEM DSN名,
如果有进入,在其中写select * from uesr 看一下是否可以
返回正确的数据 ,
 
先在sqlserver中建用户"pub1",再给它select pub权(别告诉我不会啊!);
在odbc里建这联结:user:pub;password;server:webserver;database:pub
在Asp中如下:
<% sql1="SELECT * FROM pub where id=4"
Set conn1 =Server.CreateObject("ADODB.Connection")
conn1.open "tablename","pub1","pubpassword"
Set rs1 = Server.CreateObject("ADODB.Recordset")
rs1.Open sql1, conn1, 3, 3
%>
在网页中如下引用:<%=rs1("status")%>为字段status的值。


 
对不起,不知道没有用Server.htmlencode编码代码如下:
在Asp中如下:
<%server.htmlencode("<% sql1=""SELECT * FROM pub where id=4"""+chr(13)+chr(10)+"Set conn1 =Server.CreateObject(""ADODB.Connection"")"+chr(13)+chr(10)+"conn1.open ""tablename"",""pub1"",""pubpassword"""+chr(13)+chr(10)
+" Set rs1 = Server.CreateObject(""ADODB.Recordset"")+chr(13)+chr(10)+"rs1.Open sql1, conn1, 3, 3%>""")%>
在网页中如下引用:<%serverencode("《%=rs1(""status"")%>")%>为字段status的值。
 
<%=server.htmlencode("<% sql1=""SELECT * FROM pub where id=4"""+chr(13)+chr(10)+"Set conn1 =Server.CreateObject(""ADODB.Connection"")"+chr(13)+chr(10)+"conn1.open ""tablename"",""pub1"",""pubpassword"""+chr(13)+chr(10)
+" Set rs1 = Server.CreateObject(""ADODB.Recordset"")+chr(13)+chr(10)+"rs1.Open sql1, conn1, 3, 3%>""")%>
在网页中如下引用:<%=serverencode("<%=rs1(""status"")%>")%>为字段status的值。
 
《% sql1="SELECT * FROM pub where id=4"
Set conn1 =Server.CreateObject("ADODB.Connection")
conn1.open "tablename","pub1","pubpassword"
Set rs1 = Server.CreateObject("ADODB.Recordset")
rs1.Open sql1, conn1, 3, 3
%》
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部