Есть ли доступ к базам данных VB.NET? - PullRequest
1 голос
/ 11 ноября 2008

Здесь хватается за соломинку ... Я работаю с настольной системой VB6, использующей несколько баз данных Access в стиле 2003 (.MDB). Недавно я изменил первую функцию с VB6 на VB.NET, все еще используя базу данных Access. Это больше, чем преобразование, но переписать с дополнительными функциями. Это все еще довольно простая функциональность с базой данных небольшого объема. У нас 1400 клиентов, малые предприятия с различными качествами машин. Большинство клиентов довольны новым экраном и функциональностью. Очень немногие из этих клиентов испытали КРАЙНУЮ медлительность при загрузке таблицы данных. Служба поддержки клиентов сообщает, что 1) на компьютерах установлено не менее 1 ГБ ОЗУ, а 2) перезагрузка всегда решает проблему.

Я написал приложение, которое сильно замедляет работу моей машины, и оно ВСЕ ЕЩЕ работает лучше для меня, чем для тех немногих клиентов. Кроме того, это приложение никогда не уничтожало мою базу данных Access.

Есть предложения?

Спасибо !!

Ответы [ 4 ]

2 голосов
/ 11 ноября 2008

Перезагрузка при обновлении базы данных доступа может привести к ее удалению.

Вам нужно больше информации, чтобы вы лучше понимали, что происходит. Они должны собрать некоторую информацию для вас на рабочей станции, которая имеет проблему. Используя диспетчер задач, вы можете получить следующую информацию:

  • Загрузка процессора
  • Какая задача потребляет больше всего процессоров
  • Пиковая (выделенная) память в XP - нет эквивалента в Vista
  • Общая (выделенная) память в XP - нет эквивалента в Vista
  • Доступная (физическая) память в XP - Бесплатно в Vista (сделано Superfetch бесполезно)

Также возможно использовать инструмент командной строки "SYSTEMINFO" как в XP, так и в Vista, чтобы получить общую и доступную память. Если у вас очень мало доступного и в XP, если ваш общий зафиксированный объем больше, чем ваш общий физический, то вы, скорее всего, обмениваетесь, и нехватка памяти (или утечка памяти) вызывает замедление.

Суть в том, что вам нужно больше информации. Это может быть другое приложение на рабочей станции, вызывающее проблему. У нас была ситуация, когда у Notes 5.0 была проблема, когда большая часть окна закрывалась другим окном, и вы получили новое почтовое сообщение, загрузка ЦП в Notes снизилась до 100%. Это приводило к медленной работе приложений, и если вы не находитесь на рабочей станции и не смотрите на монитор задач, вы никогда не догадаетесь, что именно Notes вызывает проблему. Проблема всегда вызывалась в другой программе (той, что на переднем плане). Access также может использовать 100% процессор в разных режимах, даже если кажется, что он ничего не делает.

Соберите как можно больше информации. Возможно, вы захотите написать vbscript или программу, которая будет собирать некоторую информацию для вас, чтобы тот, у кого возникла проблема, мог запустить ее для сбора информации перед перезагрузкой.

Пакетный файл, который делает следующее, даст вам немного информации:


@echo off
SystemInfo  >c:\systeminfo.log
tasklist /v >>c:\systeminfo.log
2 голосов
/ 11 ноября 2008

У нас похожий опыт, большинство случаев вызывает антивирус. Они проверяют файл ОЧЕНЬ часто (некоторые предотвращают каждый доступ к файлу).

0 голосов
/ 11 ноября 2008

Звучит как большая утечка памяти для меня.

Некоторые клиенты оставят ваше приложение работающим дольше, чем другие, и получат более сильный удар.

Использование Access при наличии нескольких одновременно работающих пользователей неизбежно приводит к боли.

0 голосов
/ 11 ноября 2008

Нет, VB.Net прекрасно работает с Access. Совместно используемые среды будут иметь доступ к мусору.

Поскольку перезагрузка решает проблему, я проверю, правильно ли вы закрываете свои соединения.

...