qq_39653494 2021-05-10 16:31 采纳率: 0%
浏览 345

C#连接Oracle 19C数据库问题

问题:当我查询数据库的时候,连接数据库会提示超时,能不能用一个循环去连接数据库,如果连接成功就跳出循环,执行数据库查询工作

 我写了一段 麻烦大神们看看行不行,我是个菜鸟

 /// <summary>
        /// 执行SQL语句并返回记录集
        /// </summary>
        /// <param name="cmdStr">标准的SQL语句</param>
        /// <returns></returns>
        public static DataTable GetDataTable(string cmdStr)
        {
            using (OracleConnection _connection = new OracleConnection(GetConnectionstring()))
            {
               
                DataTable dt = new DataTable();
                try
                {
                    _connection.Open();
                    while (_connection.State!=ConnectionState.Open)//循环连接数据库
                    {
                        _connection.Open();
                    }
                    OracleDataAdapter da = new OracleDataAdapter();
                    da.SelectCommand = new OracleCommand(cmdStr, _connection);
                    da.Fill(dt);
                }
                catch (Exception exs)
                {
                    //ClassLib.Error.RedirectError(exs.Message.ToString(), "", "");
                    throw new Exception(exs.Message.ToString());
                }
                finally { _connection.Close();_connection.Dispose(); }
                return dt;
            }

        }

应该是不行的,如果连接超时会抛异常!

  • 写回答

5条回答 默认 最新

  • 关注

    连接数据库会肯定不能用循环去连接,说明你这个网络有问题吧。

    评论

报告相同问题?