Я получаю следующее сообщение об ошибке, когда мой код создает DataTableReader от действительного DataTable объекта: «DataTableReader является недействительным для текущего DataTable" TempTable»DataTableReader недопустим для текущего DataTable «TempTable»
Дело в том, что если я перезагружу свою машину, она отлично работает в течение неопределенного промежутка времени, а затем умирает с вышеуказанным. Код, который генерирует эту ошибку, мог работать нормально в течение нескольких часов, а затем: bang. вы получите эту ошибку. Не ограничивается одной строкой; это каждое место, в котором используется DataTableReader. Кроме того, эта ошибка НЕ происходит на веб-сервере производства - когда-либо.
Это заставляло меня остывать в течение большей части недели, и мне не удалось найти что-либо в Google, которое могло бы помочь (поскольку я довольно уверен, это не проблема с кодировкой).
Некоторые техническая информация:
DEV Box: 32-разрядные Vista (со всеми текущими обновлениями Windows) Visual Studio 2008 v9.0.30729.1 SP Dotnet Framework 3.5 SP1
SQL Server: Microsoft SQL Server 2005 Standard Edition - 9.00.4035.00 (X64) Windows 2003 64bit (со всеми текущими обновлениями окон)
Веб-сервер: Windows 2003 64bit (со всем текущим ветром ws)
Любая помощь, идеи или советы были бы с благодарностью!
UPDATE 1:
Ok - Пытался следующий теперь без успеха:
1: Rebooted 2: SFC/SCANNOW 3: Измененный SQL сервера 4: Пробовал другой метод, который использует DataTableReaders 5: Очищенный раствор
Единственное, что я нашел, что работал, была копией & вставки кода из основного экземпляра Visual Studio, в другой, который был Simp le console app. Это тогда работал, как ожидалось (запрашивается база данных и получила результаты в DataTable, создал DataTableReader этой таблицы, затем запрашивается hasrows перед вызовом .read() ... Все это работало.
Я изо всех сил, чтобы увидеть что может привести к этому, так как нет ошибок коды - я 100% уверен, что он отлично работает, когда опубликовано на веб-сервер
(Предполагая, что локальный сервер SQL размещен локально) является ли ваш локальный диск низким по пространству? –
Хороший вопрос, и один я не проверял ... но, увы, у меня есть акров свободного места на каждом диске (точнее, 817 ГБ) – Sk93
Я попробовал рекомендацию коллег об очистке «C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files ", но он не существовал в первую очередь. Я также попытался удалить проверку «HasRows» и просто сделать While (tr.Read()), и это все еще вызывает такую же ошибку. И, наконец, на 100% устранить вероятность, я попытался использовать блок и по-прежнему получаю ту же ошибку. – Sk93