Невозможно использовать .accdb в качестве источника данных для построителя отчетов, даже если проверка соединения прошла успешно - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь настроить .accdb в качестве источника данных на сервере отчетов.База данных является локальной на сервере, и я следовал всем инструкциям для создания 32-битного и 64-битного ODBC-соединения для .mdb и .accdb.Я настроил источник данных на сайте диспетчера отчетов как ODBC с dsn = dbname и протестировал соединение, и оно установилось успешно.

На сайте диспетчера отчетов я открываю отчет в построителе отчетов.Я добавляю набор данных и указываю на общее соединение.Тестовое соединение выполнено успешно.

Я создаю новый набор данных на основе этого источника данных и нажимаю «Конструктор запросов» и получаю эту ошибку: Невозможно подключиться к имени базы данных источника данных.ОШИБКА [IM014] [Microsoft] [Диспетчер драйверов ODBC] Указанный DSN содержит несоответствие архитектуры между драйвером и приложением.

Затем я запросил учетные данные.Конечно, там ничего не работает.И этот конкретный .accdb имеет только Admin без пароля в любом случае.Все пользователи могут получить к нему доступ.

Ошибка заставляет меня думать, что существует конфликт между 32 и 64 битами..Accdb является 32-битным, но диспетчер отчетов видит его только с 64-битным соединением, а затем сбрасывает, когда я пытаюсь создать набор данных.

Я установил те же odbc-соединения на локальном компьютере ина сервере.Все еще нет игры в кости.Буду признателен за любую помощь.


Я продолжал работать над этим и смог создать источник данных со следующей строкой подключения:

Driver = {Microsoft Access Driver (*.mdb, * .accdb)}; Dbq = \ server \ path \ database.accdb; Uid = Admin; Pwd =;

Я отредактировал отчет и использовал построитель запросов для проверки запроса и результатов.Конструктор запросов позволяет мне видеть результаты.Ура!Прогресс!

Но теперь, когда я просматриваю / запускаю отчет, я получаю следующее:

Произошла ошибка при обработке отчета.(rsProcessingAborted) Ошибка выполнения запроса для набора данных 'набор данных1'.(rsErrorExecutingCommand) Для получения дополнительной информации об этой ошибке перейдите на сервер отчетов на локальном сервере или включите удаленные ошибки.

Есть идеи?

1 Ответ

0 голосов
/ 22 мая 2019

Я смог сделать эту работу. Мне пришлось установить 32- и 64-разрядные драйверы как на сервер отчетов, так и на локальную (редактирующую) машину. Я создал идентичные DSN (32-битные и 64-битные) на каждой машине. Затем настройте источник данных с помощью строки подключения OLE DB.

После завершения я смог писать отчеты по базе данных (но не просматривать таблицы). Другие пользователи могут получать доступ к отчету со своих компьютеров без установленных подключений ODBC или драйверов.

Мы назовем это победой. Перейдем к следующей проблеме.

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