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 на вкладке "Файл и параметры" и "База данных" в проводнике данных должны быть отмечены таблицы. Об этой функции нелегко узнать

Другие вопросы по тегам