Я перенесу существующий набор приложений с Win XP на Win 7. У нас есть стороннее приложение, которое запускается и запускается в сеансе пользователя, который обращается к локальной базе данных SQL Anywhere 9 через ODBC (запускается по требованию с помощью dbeng9).На той же машине у нас есть веб-сайт ASP.NET, который также обращается к локальной базе данных SQL Anywhere через ODBC.Эти два приложения прекрасно работают вместе в Win XP, поскольку оба процесса выполняются в сеансе 0.
В Win 7 на сайте ASP.NET обнаружена ошибка ODBC о том, что указанный файл базы данных уже используется.Это связано с тем, что стороннее приложение запускается первым и запускает экземпляр dbeng9 (через ODBC) в сеансе пользователя (обычно это сеанс 1).Затем ASP.NET раскручивается и пытается подключиться к той же базе данных.Драйвер ODBC видит, что экземпляр dbeng9 не запущен в текущем сеансе (сеанс 0), и пытается развернуть экземпляр, когда он не может получить доступ к файлу базы данных, поскольку он уже используется зарегистрированным пользователем вСессия 1.
У кого-нибудь есть предложения по решению проблем изоляции сеансов с локальными базами данных SQL Anywhere?
Я думал о запуске dbeng9 в качестве службы, а не о том, чтобы ODBC запускал экземпляр по требованию.,Однако, поскольку SQL Anywhere поставляется вместе со сторонним продуктом, на ПК нет dbsrv, и я не уверен, как это повлияет на лицензирование.
Сайт ASP.NET доступен только с локального ПК.Будет ли запуск сайта ASP.NET на стороннем веб-сервере причиной его запуска в сеансе пользователя?(Примечание: поскольку он работает на 1000 машин, необходим бесплатный или очень дешевый вариант.)
- Является ли сервер разработки ASP.NET, поставляемый в комплекте с Visual Studio, распространяемым таким образом?
- Можно ли настроить IIS 7 или IIS 7 Express для работы в режиме «только локальный», в котором он выполняется в сеансе пользователя?