C#实现SQL 2005数据库远程连接代码
扫描二维码
随时随地手机看文章
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 FilesMicrosoft SQL ServerMSSQL.1MSSQLBinnsqlservr.exe;C:Program FilesMicrosoft SQL Server90Sharedsqlbrowser.exe;C:Program FilesMicrosoft SQL Server90Sharedsqlwriter.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,"出错所在地:");
}
}