Я взял на себя поддержку приложения, которое изначально было написано в сети VB.Net и теперь перенесено на C #. Изначально приложение использовало базу данных Access, которую я сейчас перенес на Microsoft SQL Server 2008. Все работает нормально, за исключением отчетов, созданных с помощью Crystal Reports. Я никогда раньше не работал с Crystal Reports и пытаюсь преобразовать файлы .RPT для работы с Sql Server вместо Access.
Я использую Visual Studio 2010 и установил Crystal Reports 13.0.1 для VS. Теперь, когда я открываю один из файлов RPT, я вижу «Проводник полей» с элементом дерева «Поля базы данных», который можно развернуть, чтобы отобразить одну таблицу. Если щелкнуть правой кнопкой мыши «Поля базы данных» и выбрать «Проверить базу данных», появится окно с заголовком «Access / Excel (DAO)» и полями «Имя базы данных», показывающее путь к файлу .mdb и «Тип базы данных» с «Доступ» показан здесь. Если я раскрываю «Тип базы данных», я вижу только файловые базы данных, перечисленные здесь, такие как «dBase 5.0», «Excel 8.0», «Paradox 5.x» и т. Д.
Так как мне изменить «Поля базы данных», чтобы читать мою базу данных Sql Server, а не Access?
UPDATE:
Ok. Я сейчас в основном там. Мне удалось подключиться к базе данных с помощью Database Expert (щелкните правой кнопкой мыши «Поля базы данных» и выберите «Database Expert» в контекстном меню). Затем я развернул «Создать новое соединение», затем «OLE DB (ADO)» и смог выбрать «SQL Server Native Client 10.0» из списка поставщиков. Таким образом, я смог добавить ссылку на базу данных Sql Server.
Затем я попытался перейти к «Установить местоположение базы данных» и обновить провайдера из .mdb в разделе «Мои подключения» до базы данных Sql, которая теперь там указана, а затем выбрать «Обновить». Это прекрасно работает, если связаны только таблицы, и они присутствуют в базе данных Sql (которая они есть). Но если в отчете есть команда (sql query), то обновление завершится неудачно, поскольку синтаксис команды неверен для Sql Server. Я могу удалить команду и воссоздать ее при подключении к серверу Sql с правильным синтаксисом, но затем я потеряю все поля в отчете, которые были связаны с исходной командой. Это не слишком большая проблема, потому что я могу вручную воссоздать их, но мне интересно, есть ли способ изменить синтаксис команд при установке местоположения базы данных на Sql Server?