Дос Опубликовано 3 октября, 2009 Жалоба Share Опубликовано 3 октября, 2009 Проблема в следующем. MySql не закрывает соединение с сервером, закрывает только подключение к БД myConnection.Close(), тем самым количество подключений растет при достижение максимума, СУБД не работоспособна. Как решить эту проблему, может возможно указать время жизни подключения? принцип следующий соединение -> запрос -> отключение Заранее благодарю private static MySqlConnection myConnection; //################################################################################ # // Подключение к БД //################################################################################ # public bool ConnectionDataBase() { try { String myConnectionString = "Server = localhost; Database = ****; Uid = username; Pwd = *******;Port=3306;"; myConnection = new MySqlConnection(myConnectionString); myConnection.Open(); //myConnection.; return true; } catch { myConnection.Dispose(); GC.Collect(); return false; } } //################################################################################ # // Отключение от БД //################################################################################ # public bool DisconnectionDataBase() { myConnection.Close(); myConnection.Dispose(); GC.Collect(); return true; } Ссылка на комментарий Поделиться на другие сайты More sharing options...
Дос Опубликовано 4 октября, 2009 Автор Жалоба Share Опубликовано 4 октября, 2009 // get addresses from database // List<Address> addresses; private void GetAddresses(string street_filter) { addresses = new List<Address>(); using (SQLConnection connection = new SQLConnection(Session.ConnectionString)) { // get addresses SQLCommand command = new SQLCommand("SELECT * FROM `addresses` WHERE `street` LIKE @StreetFilter", connection); command.Parameters.AddWithValue("@StreetFilter", "%" + street_filter + "%"); connection.Open(); var reader = command.ExecuteReader(); // put addresses to list // while (reader.Read()) { addresses.Add(new Address(Convert.ToInt32(reader["id"]), Convert.ToString(reader["building_type"]), Convert.ToString(reader["street"]), Convert.ToString(reader["building"]), Convert.ToString(reader["post_index"]))); } // connection.Close(); } grdAddresses.DataSource = null; grdAddresses.DataSource = addresses; grdAddresses.AutoGenerateColumns = false; grdAddresses.Refresh(); } // Вот мой кусок кода для MSSQL. Проблем, вроде, нет. с ms sql проблем нет у меня там тоже все на мази, только MySql при использовании их dll. Короче думаю нужно будет делать так чтобы поддерживать подключение на всем протяжении работы клиента. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Pangolin Опубликовано 20 декабря, 2009 Жалоба Share Опубликовано 20 декабря, 2009 Не создаю новой темы, т.к вопрос мелкий. Пишу курсач в VS2008 с БД, использую встроенный SQL Express. Так вот, нужно удалить строку из таблицы + строки в других таблицах, которые ссылаются на удаляемую строку. В Оракле вроде было delete constrait, а тут хз как. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Pangolin Опубликовано 20 декабря, 2009 Жалоба Share Опубликовано 20 декабря, 2009 Ладно, сам сделал. Написал процедуру, которая сначала удаляет строки в зависимыч табличках, а потом и саму строку в главной таблице Ссылка на комментарий Поделиться на другие сайты More sharing options...
Дос Опубликовано 22 декабря, 2009 Автор Жалоба Share Опубликовано 22 декабря, 2009 Тут можно было бы тригер написаь, тогда бы все было на уровне СБУД Ссылка на комментарий Поделиться на другие сайты More sharing options...
Pangolin Опубликовано 22 декабря, 2009 Жалоба Share Опубликовано 22 декабря, 2009 Тут можно было бы тригер написаь, тогда бы все было на уровне СБУД Так процедура внутри БД, просто Делаю EXEC proc @id1,@id2 group_id INT NOT NULL REFERENCES groups(id) ON DELETE CASCADE Вот этого не знал Ссылка на комментарий Поделиться на другие сайты More sharing options...
Дос Опубликовано 23 декабря, 2009 Автор Жалоба Share Опубликовано 23 декабря, 2009 Так процедура внутри БД, просто Делаю EXEC proc @id1,@id2 я имел ввиду ссылочную целостность на основе триггеров, функция - это немного не то... Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.