Я переключаю свой веб-хостинг и резервное копирование базы данных.Из-за некоторых ограничений, связанных с моим новым хостом, я не смог восстановить файл .bak и должен был отправить их, чтобы они восстановили его.После того, как они восстановили его, я запустил свое приложение и получаю
System.Data.SqlClient.SqlException: Invalid object name "<table name>"
всякий раз, когда пытаюсь запросить таблицу из приложения.Тем не менее, у меня нет проблем, войдя через Management Studio с тем же именем пользователя и паролем и запрашивая таблицы.
Я использую сайт MVC 3 с SQL Server 2008
Кто-нибудь знает, почему я могу получить эти исключения при попытке запустить мое приложение?
РЕДАКТИРОВАТЬ:
Еще немного информации:
имя пользователя, которое я использовал в моей старой базе данных, было Kimpo54321, поэтому все таблицы, которые я создал, имели префикс, такой как Kimpo54321.поэтому я попытался добавить его к самому первому запросу в моем веб-приложении, чтобы он был SELECT * FROM Kimpo54321.<tablename>
, и запрос прошел без исключения.
Теперь мне не нужно было добавлять префикс каждого имени таблицы к этому ранее в моемприложение, и я не хочу применять его ко всем моим запросам.Есть ли способ исправить это?
РЕДАКТИРОВАТЬ:
Я запустил это, чтобы получить строку изменения схемы для каждой таблицы и изменил все на dbo
и он наконец заработал.Спасибо Аарону за то, что он указал мне правильное направление и нашел ответ
SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + o.Name
FROM sys.Objects o
INNER JOIN sys.Schemas s on o.schema_id = s.schema_id
WHERE s.Name = 'yourschema'
And (o.Type = 'U' Or o.Type = 'P' Or o.Type = 'V')