当前位置:编程学习 > C#/ASP.NET >>

sqlconnection open方法卡主了


public static System.Data.DataSet GetDataSet(string strTableName, string strSQL, string strConnectionString)
        {
            System.Data.SqlClient.SqlConnection conn;
            System.Data.SqlClient.SqlDataAdapter da;
            System.Data.DataSet ds;
            conn = new System.Data.SqlClient.SqlConnection(strConnectionString);
            ds = new System.Data.DataSet();
            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                da = new SqlDataAdapter(strSQL, conn);
                da.Fill(ds, strTableName);
            }
            catch (Exception ex)
            {
                string x = ex.Message.ToString();
                throw ex;
            }
            finally
            {
                conn.Close();
            }
            return ds;
        }

上面为我的代码 当我给一个争取的地址时密码或者用户名给错是执行到open方法时 会出现异常信息
但是当我给一个不存在的地址时 执行到open方法的时候就卡死了。。。
求大神给予解决。。。
此处为我的APP.CONFIG里面的配置信息 

<add key="LabellingConnString" value="server=10.18.16.1;database=测试下载;uid=sa;pwd=qaz123;Connect Timeout=5000"/>
exception database --------------------编程问答-------------------- 是不是连不上,在那里等待,过一会会提示错误码 --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
是不是连不上,在那里等待,过一会会提示错误码

等了好长时间都不出错。。我大概等了几分钟呢。 --------------------编程问答-------------------- 求大神啊。。。帮帮小弟。。 --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
是不是连不上,在那里等待,过一会会提示错误码

版主你在逗我玩么 我每次发帖 您都是忽闪而过。。。。。。。不留下一片云彩。。 --------------------编程问答-------------------- Connect Timeout=5000

---> 5000s
有时间你就等着吧。。 --------------------编程问答-------------------- telnet 10.18.16.1 1433 看下

检查下 管道和 TCP/IP 和 SqlBrowser 服务是否正常。 --------------------编程问答--------------------
引用 6 楼 qiaohuyue 的回复:
telnet 10.18.16.1 1433 看下

检查下 管道和 TCP/IP 和 SqlBrowser 服务是否正常。

这个都是没有问题的 现在我是要测试连接不对的情况下报异常呢。 --------------------编程问答-------------------- Connect Timeout=5000


后面是不是要加个分号? --------------------编程问答--------------------
引用 8 楼 wawd74520 的回复:
Connect Timeout=5000


后面是不是要加个分号?

还是不行。。 --------------------编程问答-------------------- 你能ping通?10.18.16.1

端口用的啥  开了没 ? --------------------编程问答--------------------
引用 10 楼 wawd74520 的回复:
你能ping通?10.18.16.1

端口用的啥  开了没 ?

我的意思是 10.18.16.1是可以连接上的 我现在的主要目的是要测试下 加入用户在配置的时候把地址配错了 就应该报异常 不应该卡死 然后界面上给予一定的提示。但是现在我吧地址换了个不存在的结果在open的时候卡死了。 --------------------编程问答--------------------
引用 11 楼 jiangjinlinok 的回复:
引用 10 楼 wawd74520 的回复:你能ping通?10.18.16.1

端口用的啥  开了没 ?
我的意思是 10.18.16.1是可以连接上的 我现在的主要目的是要测试下 加入用户在配置的时候把地址配错了 就应该报异常 不应该卡死 然后界面上给予一定的提示。但是现在我吧地址换了个不存在的结果在open的时候卡死了。


下个人家的类看看。。。 --------------------编程问答--------------------
引用 12 楼 wawd74520 的回复:
引用 11 楼 jiangjinlinok 的回复:引用 10 楼 wawd74520 的回复:你能ping通?10.18.16.1

端口用的啥  开了没 ?
我的意思是 10.18.16.1是可以连接上的 我现在的主要目的是要测试下 加入用户在配置的时候把地址配错了 就应该报异常 不应该卡死 然后界面上给予一定的提示。但是现在我吧地址换了个不存在的结果在open……

嗯 自己也在网上面试了多种方法 都是这个效果。。。。不起作用 --------------------编程问答-------------------- 同步连接,自己添加延时异常 --------------------编程问答--------------------
引用 13 楼 jiangjinlinok 的回复:
引用 12 楼 wawd74520 的回复:引用 11 楼 jiangjinlinok 的回复:引用 10 楼 wawd74520 的回复:你能ping通?10.18.16.1

端口用的啥  开了没 ?
我的意思是 10.18.16.1是可以连接上的 我现在的主要目的是要测试下 加入用户在配置的时候把地址配错了 就应该报异常 不应该卡死 然后界面上给予一定的提示。……
那就是自己环境的问题   仔细找找 --------------------编程问答-------------------- if (conn.State == ConnectionState.Closed)
                    conn.Open();
                da = new SqlDataAdapter(strSQL, conn);
                da.Fill(ds, strTableName);
这方式不好,如果是Breaken而不是Closed就会错的。直接用
using(.....) --------------------编程问答--------------------
引用 16 楼 DENQH 的回复:
if (conn.State == ConnectionState.Closed)
                    conn.Open();
                da = new SqlDataAdapter(strSQL, conn);
                da.Fill(ds, strTableName);
这方式不好,如果是B……

了解、
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,