如果您的网站程序和数据库不在同一台服务器上,在连接数据库的时候,如果发生连接错误,一般是以下原因造成的:
1。 没有在数据库管理面板中设置远程连接IP造成的。
说明:为了提高操作系统的安全性,所有使用了名站互联安全包的用户,在导 入ipsec策略后,SQL2000所使用的1433端口及MySQL使用的3306 端口就会自动被关闭。如果您需要在不同的服务器之间连接数据 库,您就需要在数据库管理面板中设置远程连接IP才能远程连接数 据库。
解决办法:您的数据库用户如果需要远程连接服务器的1433或3306端口, 您应该让这个用户自己登陆[星外虚拟主机管理平台]的用户 区,点数据库管理,点数据库面板中的设置远程IP,将这个用户 自己的远程连接IP填写进去,平台就会自动允许这个IP远程连 接服务器的1433或3306端口。
特别说明:如果你在数据据库面板中输入的远程IP不对,也会造成 无法连接的问题,如果你关了IP策略后就能正常连接 就是因为你输入的远程IP不对造成的。 对于双线服务器来说,对方的远程IP很可能和网卡中 看到的IP不一样,具体是什么只有测试才知道。测试 办法:在你的数据库服务器上做一个能显示IP的ASP 网页,让远程连接的电脑访问这个ASP网页,显示的 IP才是真正的远程连接IP。
2。 您自己在操作系统中启用了Windows自带的防火墙造成的。
说明:如果您使用了名站互联的安全包,Windows自带的防火墙是不需要启动 的,如果您不小心启动了它,就会造成1433及3306端口被完全关 闭,也就会造成远程无法连接SQL2000及MySQL了。
解决办法:在这台服务器上,找到网卡属性,找到防火墙的设置,点关闭 就可以解决了。
3。 您自己在操作系统中启用了网卡属性中的TCP/IP端口过滤造成的。
说明:如果您使用了星外的安全包,网卡属性中的TCP/IP端口过滤是不需 要启动,如果您不小心启动了它,就会造成1433及3306端口被关 闭,也就会造成远程无法连接SQL2000及MySQL了。
解决办法:在这台服务器上,找到网卡属性,找到TCP/IP端口过滤的设 置,点关闭就可以解决了。
4。 您自己在操作系统中安装了独立的防火墙(或杀毒)软件关了这些端口造 成的。
说明:如果您使用了星外的安全包,独立的防火墙软件,一般是不需要安 装的,如果您不小心安装了它,就会造成1433及3306端口被关闭, 也就会造成远程无法连接SQL2000及MySQL了。
解决办法:删除这些独立的防火墙软件。
5。 您的两台服务器所在的机房在路由器上作了限制造成的。
说明:有少量的机房为了防止蠕虫病毒,强行在路由器上限制了远程访问 1433及3306端口,就会造成远程无法连接SQL2000及MySQL了。
解决办法:联系机房服务器所有的机房解除限制。
6。 您的服务器安装了SQL2000,但是没有安装SQL2000的sp4补丁造成的。
说明:如果已排除了上述的1,2,3,4,5点的问题,您可以在数据库服 务器上,在dos中运行 netstat -an 再看看返回的结果中有没有1433端口存在。如果有1433,就表明是 前面的1,2,3,4,5点的问题造成的。如果返回的结果中查看不 到显示有1433端口,可能的原因是,你的SQL 2000没有安装sp4,
注意!!sp4解压后是要安装4的!!!!!!!!!!!!!!!!
操作系统自动关了1433端口,就会造成远程无法连接SQL2000了。
解决办法:下载SQL200的sp4安装好后重启服务器就会正常。如果装了 sp4,还是无法找到1433不行,就要重装SQL 2000及sp4了。
7。 您在远程连接时输入的数据库用户名密码不对造成。
说明:您可以用以下的方式检查服务器上的1433端口是否打开,在您的网 站服务器上,在在dos中运行 telnet 服务器IP 1433 如果能连接就表明端口是打开的。那么,就是您在远程连接数据库 时输入的数据库用户名密码不对造成了无法连接。 如果不能连接,请按上述的1,2,3,4,5,6点来进行检查。
解决办法:重新改正确密码,再重新连接。
|