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 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,"出错所在地:");
            }           

        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值