Доступ: недостаточно места на временном диске ошибка



Я получаю следующую ошибку:



" недостаточно места на временном диске. (Ошибка 3183) "

"Вы пытались выполнить операцию, которая требует больше места, чем доступно на временном диске. Ваше временное расположение на диске основано на переменной среды TEMP DOS, которая была установлена при запуске системы."



Я использую Access 2007 в качестве переднего плана. База данных находится на SQL Server 2008.
Это происходит, когда я использую форму, источником записи которой является SQL-запрос и am переход к определенной записи с помощью навигационного элемента управления. В таблице около полумиллиона записей.
Я на XP SP3 с 4 ГБ оперативной памяти и есть 1 ГБ бесплатно.

503   1  

1 ответ:

Вы, скорее всего, столкнетесь с ограничением в 2 ГБ для таблиц MS Access. Возможно, во временной таблице, которая создается/используется во время запроса.

Это, вероятно, вызвано любыми соединениями, которые вы имеете в своем запросе, которые имеют тенденцию умножать данные. И с миллионом строк, все, что вам нужно сделать, это умножить его на 2K данных в строке, чтобы достичь этого предела)

Вы можете решить эту проблему несколькими способами.

  • Вы можете переместить самый большой ограничитель в предложении where в конец (насколько я помню, SQL выполняется снизу вверх).
  • Вы можете упростить запрос
  • можно разбить запрос на подзапросы, каждый из которых имеет собственное предложение where, а затем выполнить объединение результатов.

Вы также можете заставить запрос выполняться на стороне SQL Server; что, я думаю, происходит по умолчанию, но может быть сорвано неэффективным запросом (например, вызовом функции, которая возвращает varchar в предложении where)

Comments

    Ничего не найдено.