高分求解远程连接sql2000问题

wf20032723 2009-09-07 10:53:21
小弟最近新写了一个程序,使用的是sql2000数据库,在本机上使用的时候,能够验证用户名和密码,从而登陆。但在另一台电脑上,登陆的时候,老是弹出:Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
我想请问下是怎么回事?
我对sql2000打了sp4补丁,使用netstat -na命令,看到1433端口已经在监听。安装sql2000的IP:91.52.48.4,远程计算机IP:91.52.48.176,这2台电脑能ping通。

sql2000使用的是windows登陆验证,密码为空。
连接数据库代码:
this.sqlConnection1.ConnectionString = "workstation id=91.52.48.4,1433;packet size=4096;integrated security=SSPI;datasource=91.52.48.4,1433;persist security info=True;initial catalog=wf";

wf是我的sql2000数据库名称

代码不多,只是一个简单的密码验证,请各位高手帮我看看到底是怎么回事:

代码如下:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace 毕业设计
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)//处理登陆
{
try
{
string StrSQL="SELECT * FROM 密码管理表 WHERE 用户名 LIKE '"+this.textBox1.Text+"' AND 用户类
型 LIKE '"+this.comboBox1.Text+"'";//this.textBox1.Text里面是用户名,this.comboBox1.Text是用户类型,

this.sqlDataAdapter1.SelectCommand.CommandText=StrSQL;
this.sqlDataAdapter1.SelectCommand.Connection=this.sqlConnection1;
//打开数据库连接
this.sqlConnection1.Open();
//执行SQL命令
System.Data.SqlClient.SqlDataReader MyRead=this.sqlDataAdapter1.SelectCommand.ExecuteReader();


while(MyRead.Read())
{

if(MyRead.GetString(2).Trim()==this.textBox2.Text.ToString())//如果密码相同
{
Form4 dlg4=new Form4();
if(this.comboBox1.Text=="系统管理员")
{
dlg4.type=1;
}

if(this.comboBox1.Text=="业务员")
{
dlg4.type=2;
}
if(this.comboBox1.Text=="普通用户")
{
dlg4.type=3;
}
dlg4.ShowDialog();
}
else
{
MessageBox.Show("您所输入的用户或密码有错误","信息提示",
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}

this.sqlConnection1.Close();
}
catch(Exception Err)
{
MessageBox.Show(Err.Message,"信息提示",
MessageBoxButtons.OK,MessageBoxIcon.Information);
//如果打开了连接,则关闭它
if(this.sqlConnection1.State==ConnectionState.Open)
{
this.sqlConnection1.Close();
}
}
}

private void button2_Click(object sender, System.EventArgs e)
{
this.Close();
}
}
}


...全文
136 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
viki117 2009-09-07
  • 打赏
  • 举报
回复
自己看下错误啥。。连不上会有错误返回的。。就算是超时也应该有个错误报告
wf20032723 2009-09-07
  • 打赏
  • 举报
回复
是不是必须要使用sql2000的密码,而不能使用空密码?
我改为了sql和windows验证,只是用的空密码,连接字符串还是没变,还是出现的这个错误,是不是即使使用空密码,也要在连接字符串中输入连接数据的密码用??用User ID=“”;Password=“”;还是用User ID="null";Password=""
dancingbit 2009-09-07
  • 打赏
  • 举报
回复
Sql Server换成Sql Server验证,连接字符串做相应更改。
soaringbird 2009-09-07
  • 打赏
  • 举报
回复
能不能连上主要是以下这些:
1.服务开没开
2.服务允许不允许远程连接。
3.防火墙阻绝没有?
4.服务器名称可否解析或者ip可否访问
5.端口正确否
6.实例名正确否
7.用户名/密码是否正确
8.windows认证方式下,用户是否已授权
等等
wf20032723 2009-09-07
  • 打赏
  • 举报
回复
soaringbird,你能给我一篇讲解如何连接sql2000远程服务器的文章吗??我看了上面的这么多说法,头都要昏了,
soaringbird 2009-09-07
  • 打赏
  • 举报
回复
FEB5AD87D2FF4C5\LOCAL
应该是主机名(或IP)\实例名,默认实例可以不指定实例名
wf20032723 2009-09-07
  • 打赏
  • 举报
回复
具体点行吗??我不是很明白哈
SQL77 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wf20032723 的回复:]
已经启用了的哈
[/Quote]
SQL中好处理,直接添加远程链接服务器
wf20032723 2009-09-07
  • 打赏
  • 举报
回复
已经启用了的哈
soaringbird 2009-09-07
  • 打赏
  • 举报
回复
在安全\登录下面看看sa的状态是不是启用的
wf20032723 2009-09-07
  • 打赏
  • 举报
回复
而且奇怪的是:在查询分析器中,将SQL SERVER选择为LOCAL,输入用户名:sa,密码:sa,就可以登陆,但是选择FEB5AD87D2FF4C5\LOCAL(FEB5AD87D2FF4C5是我的机器名),输入用户名:sa,密码:sa,就会出错,我看了下SQL SERVER服务管理器中的服务器名就是FEB5AD87D2FF4C5\LOCAL
wf20032723 2009-09-07
  • 打赏
  • 举报
回复
我在企业管理器里展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。在"身份验证"下,选择"SQL Server和 Windows "。设置密码:sa
但是为什么我在查询分析器里面,选择算sql server验证,用户名输入:sa,密码输入:sa,报错为:用户'sa'登陆失败,原因,未与信任SQL SERVER连接相关联。
为什么会这样啊,我明明已经改了验证方式,且用户名和密码都已经改为sa了
soaringbird 2009-09-07
  • 打赏
  • 举报
回复
连接字符串中去掉integrated security=SSPI;
BitCoffee 2009-09-07
  • 打赏
  • 举报
回复
可以在企业管理器里新建注册连接,看能不能连上?
llnet 2009-09-07
  • 打赏
  • 举报
回复
Provider=SQLOLEDB.1;Password=密码;User ID=用户ID;Data Source=数据库IP地址;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=机器名;Use Encryption
ncjcz 2009-09-07
  • 打赏
  • 举报
回复
检查服务器端防火墙设置

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧