Аз мигрирам класическо уеб приложение за ASP в новсървъри. Краят на базата данни преминава от SQL Server 2000 към SQL Server 2008, а приложението се движи от Win2000 x86 на Win2003R2 x64. Получавам по-горната грешка при всяко извикване на отделна съхранена процедура в приложението.
Проверих:
- Да, потребителят на SQL е настроен, като използва правилното потребителско име и парола
- Да, потребителят на SQL има разрешения за изпълнение на съхранените процедури в базата данни
- Да, актуализирах TypeLib препратките към новия UUID
- Да, влязох в базата данни чрез SSMS с потребителския идентификатор на SQL и той може да вижда и изпълнява добре съхранените процедури в SSMS, но не и от уеб приложението.
- Да, потребителят на SQL има база данни, зададена като база данни по подразбиране.
Най-разочароващото нещо е, че работи добрена DEV сървъра, но не и на производствения сървър. Прегледах всяка настройка на IIS 5 или 6 пъти и уеб приложението е настроено точно в двете среди. Единствената разлика е името на сървъра на базата данни в низ за свързване (DEV срещу prod)
РЕДАКТИРАНЕ: Аз също се опитах да посоча кутията на web за продуктовия сървър и да получа същата грешка, така че съм сигурен, че въпросът не е от страна на базата данни.
Отговори:
0 за отговор № 1Сигурни ли сте, че наистина сте свързани снапример и база данни, които смятате, че сте (в приложението)? Необходимо е само погрешно DB в низ за свързване, за да замени базата данни по подразбиране за потребителя.
Можете ли да изпълните вградения SQL в връзката като:
SELECT @@SERVERNAME AS SERVERNAME
,DB_NAME() AS [DB_NAME]
,CURRENT_USER AS [CURRENT_USER]
0 за отговор № 2
Може да е схемата. Зададохте ли схемата по подразбиране на вашия потребител в базата данни, която използвате?