您的位置:首页 > 数据库

C#实现SQL 2005数据库远程连接代码

2011-10-23 20:07 656 查看

C#实现SQL 2005数据库远程连接代码

1. 首先检查下 SQL Server的相关服务开启没有

2. 如果开启了,还是不行,那么再检查 MSSQL 2005 外围应用配置器里是否开启了远程连接

3.首先确定你的服务器端的computer Browser是否已经启动了,如果没有启动的话,把它启动了,同时关掉服务器端的防火墙。(可以通过"控制面板"-"管理工具"-"服务"-"computer Browser"方式找到)

4.对SQL Server2005进行设置:

① 打开"Microsoft SQL Server Management Studio" 直接用Windows 用户连接进入,再在"安全性"中的"登录名"内的"新建登录名",你就对应的添好"确定"就可以了。

② 再在你对应的"数据库"里"安全性"用户,把你建的用户添加进去。

③ 查看"服务器 属性"在 "安全性"选上 "SQL Server 和 Windows 身份验证模式"点 "确定"系统会提示你重新启动SQL Server 你"停止"重启一下就配好了。

6. 开始-Micorsoft Sql Server-配置工具-SQL Server Configuration Manager

选中SQL Server 2005网络配置-选择要开启远程连接的数据库服务器(如MSSQLSERVER的协议)-在右侧选择Tcp/Ip协议-双击-在协议选项卡下把已启用改为:是,切换到IP地址选项卡-(IP1设置)把活动和已启用都改为:是,并检查一下TCP端口是否为1433。(IPAll设置)Tcp动态端口保留默认(下图来自网上,但用它的设置,反而服务器都无法启动成功,在将 TCP动态端口还原为默认值后,启动成功)

设置好后,重启服务器

6. 打开防火墙-例外-添加程序-浏览-C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe;C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe;C:\Program Files\Microsoft SQL Server\90\Shared\sqlwriter.exe

7. 在运行中输入CMD,再在DOS窗口输入 telnet 你的IP 1433如果连接成功 出现 黑色 窗口,没有任何字

不成功,就显示 无法连接/连接不成功,不成功,请返回第5步检查

8. 回到程序,在你的程序里设置好数据库的IP地址,刚才设置的 sa账户,和密码,再次用程序连接,成功!

另外:我同学的机器还出现了其他毛病,自己再电脑上可以连接了,但当把程序移到另外的局域网中的一台机器时就不行了,发现本机可以Ping通局域网中其他机器,而其他主机却无法ping通 本机,解决方法如下:

关闭360安全卫士,系统自带防火墙等其他任何防火墙即可。

如果不想关闭防火墙,也希望能够Ping通,这个我没有能力试,因为一直都是远程协助,但你可以找下防火墙里是否有一些可以设置的。

9.C#的连接语句:

  strcon = strcon + @"Data Source=" + strcons[0];

  strcon = strcon + "," + strcons[2] + ";";

  strcon = strcon + "Network Library=" + strcons[1] + ";";

  strcon = strcon + "Initial Catalog=" + strcons[3] + ";";

  strcon = strcon + "User ID=" + strcons[4] + ";";

  strcon = strcon + "Password=" + strcons[5] + ";";

  strcon = strcon + "Persist Security Info=True";

  strcons[0] 服务器名称,一般添机器的IP

  strcons[1]协议DBMSSOCN(为tcp/ip协议),在strcons[1] 可以直接填"DBMSSOCN"就可以了

  strcons[2]]端口号,一般为1433

  strcons[3] 数据库名

  strcons[4] 用户名

  strcons[5]密码

代码

string strcon;

private void button1_Click(object sender, EventArgs e)

{

// strcon = strcon + @"Data Source=" + "192.168.1.100";

strcon = strcon + @"Server=192.168.1.100";

strcon = strcon + "," + "1433" + ";";

strcon = strcon + "Network Library=" + "DBMSSOCN" + ";";

strcon = strcon + "Initial Catalog=" + "longma" + ";";

strcon = strcon + "User ID=" + "sa" + ";";

strcon = strcon + "Password=" + "Jacklove13" + ";";

strcon = strcon + "Persist Security Info=True";

try

{

//strcon += "Connect Timeout=30";

SqlConnection conn = new SqlConnection(strcon);

conn.Open();

if (conn.State == ConnectionState.Open)

{

MessageBox.Show("连接成功!");

}

else

{

MessageBox.Show("连接不上");

}

string strnum = "Select * from longma";

DataSet ds = new DataSet();

SqlDataAdapter adapter = new SqlDataAdapter(strnum, conn);

adapter.Fill(ds, "longma");

dataGridView1.DataSource = ds.Tables["longma"];

conn.Close();

}

catch (Exception ex)

{

MessageBox.Show(ex.Message,"出错所在地:");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: