Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Правильно работать с MySql / 3 сообщений из 3, страница 1 из 1
04.08.2010, 23:44
    #36776169
kokcu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно работать с MySql
Есть приложение которое работает с базой MySql. На него приходит 1-5 команд в секунду по тцп. На каждую команду приходиться по 10 sql запросов. Каждое сообщение обрабатываю в новом потоке. Но вотп роблема, команды однородные но через некоторое время программа падает, иногда пишет что пул переполнен иногда что object reference cant create an ... object. Это точно не ошибки синтаксиса. Что я делаю не так?
Вот функция работы со sql
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public void mysqlq(string quer)
        {
            Thread r = new Thread(quert);
            r.Start(quer);
        }

        void quert(object parameter)
        {
            try
            {
                //Mysql Query function
                string MyConString = "SERVER=localhost;" +
                      "DATABASE=****;" +
                      "UID=****;" +
                      "PASSWORD=****;";
                MySqlConnection connection = new MySqlConnection(MyConString);
                MySqlCommand command = connection.CreateCommand();
                MySqlDataReader Reader;
                command.CommandText = (string)parameter;
                connection.Open();
                Reader = command.ExecuteReader();
                connection.Close();
            }
            catch
            {
               
            }
        }
...
Рейтинг: 0 / 0
05.08.2010, 00:25
    #36776202
kokcu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно работать с MySql
Есть еще проблемма. Нужно сносить в архив записи помеченные как удаленные.
mysqlq("insert into archive(select * from zakazi where todel = 'y')");
mysqlq("DELETE from zakazi where todel = 'y'");

Но почему то бывает так что строки пропадают и их нету нигде). Как такое возможно?
(Тут запрос без потоков. Они последовательны)
...
Рейтинг: 0 / 0
05.09.2010, 06:37
    #36830027
danik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно работать с MySql
kokcu но через некоторое время программа падает, иногда пишет что пул переполнен

Курите мануал по коннектору и самому серверу. Искать по выделенному ;)

Для общего понимая о connection pooling: 21.2.5.4. Using Connector/NET with Connection Pooling

Само решение здесь: 21.2.6. Connector/NET Connection String Options Reference

Этот если я правильно понял проблему
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Правильно работать с MySql / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]