C # DataReader продолжает висеть - PullRequest
0 голосов
/ 03 декабря 2009

У меня есть запрос, который извлекает около 10000 записей из базы данных MySQL, эти записи я читаю в CSV-файл.

Теперь после 70 записей читатель зависает и больше ничего не делает.

Никогда такого не было в моем другом коде до этого (возможно, большие данные, которые я хочу получить).

Мой код примерно такой:

using (var reader = db.Retrieve(sql))
{
    while (reader.Read()) {

       //write results to my file

    }
}

Код висит на 'while (reader.Read ())'

Я прочитал этот канал , но никакого реального ответа не было дано. Или другие решения?

Ответы [ 5 ]

1 голос
/ 03 декабря 2009

Вы пробовали какие-либо предложения, сделанные в другой теме?

Попробуйте взглянуть на сгенерированный SQL и запустить его в SQL Management Studio и посмотрите, работает ли он там медленно.

Попробуйте упростить свой запрос и посмотрите, не устранит ли это проблему, затем попробуйте добавить ее обратно и посмотрите, что именно делает его работающим и не работающим.

0 голосов
/ 04 декабря 2009

Хорошо, я разрешил зависание в моем случае. Мой запрос был сложным, чтобы выполнить его сразу. Поэтому я упростил свой запрос, и теперь через минуту мой файл записывается с результатами.

0 голосов
/ 03 декабря 2009

Висит ли он навсегда или в итоге рухнет?В случае сбоя поместите его в попытку и посмотрите, что является исключением.Поместите хранимую процедуру в попытку catch

0 голосов
/ 03 декабря 2009

Каков шаблон строк, возвращаемых в QueryBrowser? Является ли mySQL группировкой возвращаемых результатов аналогичным образом?

0 голосов
/ 03 декабря 2009

Вы пробовали это, не записывая это в файл?

Вы пытались запустить это без DataReader, чтобы убедиться, что запрос в порядке?

Если это так, возможно, стоит попробовать более простой запрос, чтобы он возвращал только одно поле, скажем, первичный ключ, если в таблице определен первичный ключ из одного столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...