Example #1
0
        private SqlDataReader Execute(string dbName, ConfigConnection conn, string SQL, bool bIgnoreNotExistForPermissions)
        {
            string connstr = conn.makeConnectionString(dbName);
            SqlConnection MySqlConn = new SqlConnection(connstr);
            MySqlConn.Open();

            SqlCommand MySqlCmd = new SqlCommand(SQL, MySqlConn);
            SqlDataReader dataReader = MySqlCmd.ExecuteReader();

            return dataReader;
        }
Example #2
0
        private void ExecuteNonQuery(string dbName, ConfigConnection conn, string SQL, List<SqlParameter> sqlParamList, bool bIgnoreNotExistForPermissions)
        {
            string connstr = conn.makeConnectionString(dbName);
            SqlConnection MySqlConn = new SqlConnection(connstr);
            MySqlConn.Open();
            try
            {
                MySqlConn.InfoMessage += new SqlInfoMessageEventHandler(OnInfoMessage);

                // Supports multiple batches by looking for "\nGO" as a separator
                string[] cmds = SQL.Split(new string[] { "\nGO" }, StringSplitOptions.RemoveEmptyEntries);

                foreach (string cmd in cmds)
                {
					if (cmd != "\r\n")
					{
						SqlCommand MySqlCmd = new SqlCommand(cmd, MySqlConn);
                        AddParamsToCmd(MySqlCmd, sqlParamList);
						MySqlCmd.CommandTimeout = 0;
						MySqlCmd.ExecuteNonQuery();
                        MySqlCmd.Parameters.Clear();
                    }
                }
            }
            catch (SqlException e)
            {
                if (e.Number == 7601)// || conn.database.ToLower().Equals("theguide"))
                {
                    // Ignore the CONTAINSTABLE error when full text catalogs are missing
                }
                else if (bIgnoreNotExistForPermissions && e.Number == 15151)
                {
                    Console.WriteLine("Permission Warning: " + e.Message);
                    // Ignore if asked to ignore "object doesn't exist when applying permissions" errors
                }
				else if (bIgnoreNotExistForPermissions && e.Number == 3701)
				{
					// Ignore if asked and trying to drop existing stored procedure
				}
				else
				{
					throw;
				}
            }
            finally
            {
                MySqlConn.Close();
            }
        }