c#连接sybase数据库,命令执行时间如果很长就会抛出Connection to Sybase server has been lost. All active transactions have been rolled back的异常,
可是连接的ConnectionTimeout属性是只读的不能设置,代码如下:
public static DataTable GetDataTable(string connStr,string sqlCom)
        {
            DataTable dt = new DataTable();
            AseConnection con = new AseConnection(connStr);
            con.Open();
            //con.ConnectionTimeout = 1000;不能设置。
            if (con.State == ConnectionState.Open)
            {
                //MessageBox.Show("数据库连接成功。");
            }
            else
            {return null;}
            AseDataAdapter da = new AseDataAdapter(sqlCom, con);
            da.Fill(dt);
            con.Close();
            return dt;
        }
这要怎么解决啊?sybasec#数据库transactionssql

解决方案 »

  1.   

    在连接字符串里设置,类似下面这样的
    string CONN_STRING = "server=.;database= USERNAME ;uid=sa ;pwd=sa; Connect Timeout=60";
      

  2.   

    我这样设置后用messagebox显示了下ConnectionTimeout,确实是我设置的值,可是还是抛出那个异常,可是其它的sql语句都是正常的,我把这个抛异常的sql语句放到sybase central里面去执行没问题说明语句是对的,只不过执行的时间很长,还有没有什么其他需要设置的呢?
      

  3.   

    DbCommand也有TimeOut设置,这个也设长点