Поставщик Microsoft OLE DB для SQL Server ошибка «80040e14» Не удалось найти хранимую процедуру - PullRequest
0 голосов
/ 26 мая 2010

Я перевожу классическое веб-приложение ASP на новые серверы. Серверная часть базы данных мигрирует с SQL Server 2000 на SQL Server 2008, а приложение перемещается с Win2000 x86 на Win2003R2 x64. Я получаю вышеуказанную ошибку при каждом вызове хранимой процедуры в приложении.

Я подтвердил:

  • Да, пользователь SQL настроен с использованием правильного имени пользователя и пароля
  • Да, пользователь SQL имеет разрешения на выполнение хранимых процедур в базе данных
  • Да, я обновил ссылки TypeLib на новый UUID
  • Да, я вошел в базу данных через SSMS с идентификатором пользователя SQL, и он прекрасно видит и выполняет хранимые процедуры в SSMS, но не из веб-приложения.
  • Да, для пользователя SQL база данных установлена ​​в качестве базы данных по умолчанию.

Самое неприятное, что он отлично работает на сервере DEV, но не на рабочем сервере. Я прошел все настройки IIS 5 или 6 раз, и веб-приложение настроено одинаково в обеих средах. Единственное отличие - это имя сервера базы данных в строке подключения (DEV vs prod)

РЕДАКТИРОВАТЬ: Я также попытался навести веб-окно prod на сервер базы данных dev и получить ту же ошибку, поэтому я уверен, что проблема не на стороне базы данных.

Ответы [ 2 ]

0 голосов
/ 26 мая 2010

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

0 голосов
/ 26 мая 2010

Вы уверены, что действительно подключены к экземпляру и базе данных, которые вы думаете (в приложении)? Только неверная БД в строке подключения переопределяет базу данных по умолчанию для пользователя.

Можете ли вы выполнить какой-нибудь встроенный SQL для соединения, например:

SELECT @@SERVERNAME AS SERVERNAME
    ,DB_NAME() AS [DB_NAME]
    ,CURRENT_USER AS [CURRENT_USER]
...