ODBC-соединение Crystal Reports: таблица базы данных <tablename> не найдена
При запуске (или проверке базы данных) отчета в Crystal Reports 10 я получаю сообщение:
"Не удалось найти таблицу базы данных"SomeTable". Приступить к удалению этой таблицы из отчета?"
для нескольких столов.
Раньше отчет работал нормально. В отчет поступают данные из нескольких источников, а отсутствующие таблицы - это те, которые поступают из соединения ODBC с БД SQL Server. Я думаю, что проблема может заключаться в том, что при создании отчета ODBC указывал на другой экземпляр базы данных (те же структуры, просто другое местоположение).
Я проверил, и у пользователя отчета есть все необходимые разрешения для новой базы данных.
В Crystal, если вы игнорируете сообщения, отчет, кажется, работает нормально. Однако при развертывании отчета, который нужно запустить из Crystal Report Viewer на веб-сайте, он выбрасывает File I/O error
,
1 ответ
Это очень удобное сообщение в блоге предоставляет решение: https://wisdomofsolomon.wordpress.com/2011/06/18/crystal-reports-tables-not-found-during-verify-database/
Запустив Show SQL Query
вы можете видеть, что сгенерированный запрос работает как SQL
select * from databasename.dbo.SomeTable
Это databasename
часть того, что, кажется, вызывает проблему (хотя, насколько я могу судить, в моем случае имя БД ничем не отличается от старого подключения к БД и нового в моем случае.) Исправление запросов таблицы для удаления имя базы данных из SQL решило проблему для меня.
Вы можете сделать это следующим образом:
- идти к
Database / Set Datasource Location
в меню. - развернуть в дереве отчетов таблицы, вызывающие проблему
- Под
Properties
нажмитеOverriden Qualified Table Name:
- В текстовом поле введите имя таблицы без имени базы данных (например,
dbo.SomeTable
) - Сделайте это для всех таблиц, вызывающих проблему
(Как отмечается в комментарии к этому сообщению в блоге, вы также можете создать новое соединение и заменить таблицы эквивалентами из этого нового источника данных, но в результате вы получите полное имя таблицы из нового соединения - так что вы можете получить та же проблема снова в будущем.)
В Crystal на вкладке "Файл и параметры" и "База данных" в проводнике данных должны быть отмечены таблицы. Об этой функции нелегко узнать