Как отследить ошибки «не могу найти объект» при копировании баз данных и просмотре в Access? - PullRequest
0 голосов
/ 21 августа 2009

(Это не похоже на вопрос программирования, но может сводиться к вопросу программирования.)

Я использую MS Access 2007 для просмотра таблиц в базе данных (через файл * .adp), которая находится на SQL Server 2000 и SQL Server 2005.

Я использую задачу «Копировать базу данных» в MS SQL Server Management Studio для копирования данных с SQL Server 2000 («живой» сервер) на SQL Server 2005 (на моем локальном компьютере). Похоже, что копия успешно выполнена.

У меня есть два отдельных файла * .adp. Одна ссылка на БД на живом сервере, а другая на скопированную БД на моей локальной машине.

Я могу нормально работать с большинством таблиц в БД на моей локальной машине, но некоторые из них приводят к тому, что Access выдает эту ошибку еще до того, как я могу увидеть данные или представление проекта:

Microsoft Office Access не может найти объект 'SELECT *, sql _ option _ свойство (значение,' basetype ') типа AS FROM :: fn_ listextendedproperty (N'MS _ DisplayViewsOnSharePointSite', N'user ' , N'dbo ', N'table', N'tbl_Asset ', NULL, NULL)'.

  • Вы неправильно написали имя объекта. Проверьте наличие недостающих подчеркиваний (_) или других знаков препинания и убедитесь, что вы не ввели первые пробелы.
  • Вы пытались открыть связанную таблицу, но файл, содержащий таблицу, находится не по указанному вами пути. Используйте Менеджер связанных таблиц, чтобы обновить ссылку и указать правильный путь.

(у меня есть эта ошибка на пяти таблицах, и единственное, что изменяется, это то, что «tbl_Asset» заменяется именем таблицы с ошибками.)

У меня нет той же проблемы, когда я использую Access для просмотра таблиц в действующей БД. Кроме того, у меня нет этой проблемы при просмотре таблиц в локальной БД через SQL Server Management Studio.

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

Есть предложения? Спасибо за вашу помощь.

ОБНОВЛЕНИЕ: Нашел то, что я считаю причиной, но все еще не могу ее устранить. Я опубликую свой прогресс ниже. Спасибо

Ответы [ 4 ]

2 голосов
/ 21 августа 2009

Случайно ли имена оскорбительных таблиц длиннее? Я получил аналогичные сообщения, когда путь Windows плюс имя БД и имя таблицы длиннее 256 символов.

Я мог бы быть далеко - это просто догадка.

1 голос
/ 28 апреля 2011

Насколько я знаю, эта проблема возникает только тогда, когда вы используете проект Access (с расширением ADP). После того, как я вырвал волосы на некоторое время, я понял, что ответ состоит в том, чтобы удалить все расширенные свойства не только из таблицы-нарушителя, но также - по отдельности - из каждого из ее столбцов. Вот как это сделать .

1 голос
/ 21 августа 2009

При создании сценария CREATE from SSMS он по умолчанию включает расширенные свойства. Вам нужно будет удалить их вручную перед повторным созданием таблицы.

1 голос
/ 21 августа 2009

Проблема возникает, когда я сохраняю макет таблицы в Access. Это вызывает добавление расширенных свойств в таблицах в SQL Server. Таблицы, выдающие ошибку, имеют эти расширенные свойства. Таблицы без расширенных свойств не выдают ошибок.

Кто-то, очевидно, решал эту ошибку здесь , но решение, которое он использовал, не работает для меня.

Я удалил расширенные свойства в таблице ошибок, но это также не решило проблему. Когда я захожу в SQL Server Management Studio и сценарий таблицы как CREATE, я вижу, что расширенные свойства действительно не исчезают:

GO EXEC sys.sp _ addextendedproperty @ name = N'MS _ AggregateType ', @ value = -1, @ level0type = N'SCHEMA', @ level0name = N'dbo ', @ level1type = N'TABLE', @ level1name = N 'tbl _ PRStatus', @ level2type = N'COLUMN ', @ level2name = N'ID _ PRStatus'

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...