怎么实现网页和数据库(SQL)的连接
展开全部
sql
server
2000无论是个人版、企业版还是标准版,只要细版本在8.00.1760以下,均不提供远程数据库连接,即使服务器端工具和客户端工具的设置均有tcp/ip设置和数据库连接属性也设置了rpc远程连接,仍然不能实现远程连接。该怎么解决呢?
解决方案如下:
首先,需要打sp4补丁,该补丁包含了以前sp1、2、3的补丁,安装此补丁后一般要重新启动计算机,再进行远程连接就可以了,如再企业管理器可远程注册服务器、查询分析可连接远程服务器、odbc可连接远程服务器。
要点:
1.确认服务器端sql服务端口号是否为:1433
2.如果不是1433,配置客户端
3.建立服务器端登录帐号,确保角色及管理数据库
一、查看服务器端情况
1.
看ping
服务器ip能否ping通。
这个实际上是看和远程sql
server
服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql
server
服务器的ip拼写正确。
2.
在dos或命令行下输入telnet
服务器ip
端口,看能否连通。
如telnet
202.114.100.100
1433
通常端口值是1433,因为1433是sql
server
的对于tcp/ip的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1)
检查远程服务器是否启动了sql
server
服务。如果没有,则启动。
2)
检查sql
server服务器端有没启用tcp/ip协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开
开始菜单->程序->microsoft
sql
server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3)
检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql
server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见
二:设置客户端网络实用工具)。
4)
如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。(4、5步我没有做就成功了)
5)
检查服务器是否在1433端口侦听。如果sql
server服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入
netstat
-a
-n
或者是netstat
-an,在结果列表里看是否有类似
tcp
127.0.0.1
1433
listening
的项。如果没有,则通常需要给sql
server
2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入select
@@version
执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet
服务器ip
1433
测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。
server
2000无论是个人版、企业版还是标准版,只要细版本在8.00.1760以下,均不提供远程数据库连接,即使服务器端工具和客户端工具的设置均有tcp/ip设置和数据库连接属性也设置了rpc远程连接,仍然不能实现远程连接。该怎么解决呢?
解决方案如下:
首先,需要打sp4补丁,该补丁包含了以前sp1、2、3的补丁,安装此补丁后一般要重新启动计算机,再进行远程连接就可以了,如再企业管理器可远程注册服务器、查询分析可连接远程服务器、odbc可连接远程服务器。
要点:
1.确认服务器端sql服务端口号是否为:1433
2.如果不是1433,配置客户端
3.建立服务器端登录帐号,确保角色及管理数据库
一、查看服务器端情况
1.
看ping
服务器ip能否ping通。
这个实际上是看和远程sql
server
服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql
server
服务器的ip拼写正确。
2.
在dos或命令行下输入telnet
服务器ip
端口,看能否连通。
如telnet
202.114.100.100
1433
通常端口值是1433,因为1433是sql
server
的对于tcp/ip的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1)
检查远程服务器是否启动了sql
server
服务。如果没有,则启动。
2)
检查sql
server服务器端有没启用tcp/ip协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开
开始菜单->程序->microsoft
sql
server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3)
检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql
server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见
二:设置客户端网络实用工具)。
4)
如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。(4、5步我没有做就成功了)
5)
检查服务器是否在1433端口侦听。如果sql
server服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入
netstat
-a
-n
或者是netstat
-an,在结果列表里看是否有类似
tcp
127.0.0.1
1433
listening
的项。如果没有,则通常需要给sql
server
2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入select
@@version
执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet
服务器ip
1433
测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。
展开全部
ASP中五种连接数据库的方法
第一种 - 这种方法用在ACCESS中最多
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("aspfree.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
第二种-这种方法用在SQL SERVER中多
strconn = "Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;UID=LoginIDWD=Password;DATABASE=Database_Name
set conn = server.createobject("adodb.connection")
conn.open strconn
第三种
strconn="Driver={MicrosoftAccessDriver(*.mdb)};" &_
"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=f:\Inetpub\wwwroot\somedir;uid=LoginID;" &_
"pwd=Password;DriverId=25;FIL=MSAccess;" set conn = server.createobject("adodb.connection")
conn.open strconn
第四种运用系统数据源
The following uses a Data Source Name:
set conn = server.createobject("adodb.connection")
conn.open "Example"
第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源
set rs = server.createobject("adodb.recordset")
rs.open "tblname", "DSNName", 3, 3
第一种 - 这种方法用在ACCESS中最多
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("aspfree.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
第二种-这种方法用在SQL SERVER中多
strconn = "Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;UID=LoginIDWD=Password;DATABASE=Database_Name
set conn = server.createobject("adodb.connection")
conn.open strconn
第三种
strconn="Driver={MicrosoftAccessDriver(*.mdb)};" &_
"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=f:\Inetpub\wwwroot\somedir;uid=LoginID;" &_
"pwd=Password;DriverId=25;FIL=MSAccess;" set conn = server.createobject("adodb.connection")
conn.open strconn
第四种运用系统数据源
The following uses a Data Source Name:
set conn = server.createobject("adodb.connection")
conn.open "Example"
第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源
set rs = server.createobject("adodb.recordset")
rs.open "tblname", "DSNName", 3, 3
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我下面的例子是连接的access数据库,不过道理都是一样的。(ASP代码)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<%
Sj=Request.Form("user_id")
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("db1.mdb")
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.Open "select * from guest where id='#"&Sj&"#'",conn,1,1
if rs.recordcount>0 then
response.write "id name
"
for i=1 to rs.recordcount
response.write rs("id")&" "&rs("name")&"
"
rs.movenext
if rs.eof then exit for
next
end if
%>
<body>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<%
Sj=Request.Form("user_id")
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("db1.mdb")
Set rs=Server.CreateObject("ADODB.RecordSet")
rs.Open "select * from guest where id='#"&Sj&"#'",conn,1,1
if rs.recordcount>0 then
response.write "id name
"
for i=1 to rs.recordcount
response.write rs("id")&" "&rs("name")&"
"
rs.movenext
if rs.eof then exit for
next
end if
%>
<body>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询