Webreport + Firebird проблемы

DenizDeniz Новый Уренгой
отредактировано 19:25 Раздел: FastReport .NET
Добрый день, коллеги.
Никак не могу нормально реализовать данную связку.
Есть пустая web-страничка, на ней webreport (версия 1.3.33)
Из дизайнера (вызванного из VS) подключается к БД нормально, отчет показывает.
При запуске выдает ошибку
написал:
Can't find object FirebirdDataConnection
[ClassException: Can't find object FirebirdDataConnection]
FastReport.Utils.FRReader.Read() +347
FastReport.Base.DeserializeSubItems(FRReader reader) +22
FastReport.Base.Deserialize(FRReader reader) +41
FastReport.Data.Dictionary.Deserialize(FRReader reader) +12
FastReport.Utils.FRReader.Read(IFRSerializable obj) +101
FastReport.Report.DeserializeSubItems(FRReader reader) +111
FastReport.Base.Deserialize(FRReader reader) +41
FastReport.Report.Deserialize(FRReader reader) +39
FastReport.Utils.FRReader.Read(IFRSerializable obj) +101
FastReport.Report.Load(Stream stream) +554
FastReport.Report.Load(String fileName) +94
FastReport.Web.WebReport.RX6Q4ddRn() +220
FastReport.Web.WebReport.OnLoad(EventArgs e) +64
System.Web.UI.Control.LoadRecursive() +52
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2184
В чем может быть проблема? Может есть готовый пример.

Комментарии

  • DenizDeniz Новый Уренгой
    отредактировано 19:25
    Обновил FastReport до версии 1.3.69, ситуация не изменилась.
  • отредактировано April 2010
    Здравствуйте,

    Надо добавить FastReport.Firebird.dll в список References своего проекта, а также зарегистрировать объект в отчете:

    FastReport.Utils.RegisteredObjects.AddConnection(typeof(FirebirdDataConnection))

    Этот код надо выполнить один раз, перед первым запуском отчета.
  • DenizDeniz Новый Уренгой
    отредактировано 19:25
    Добрый день.
    FastReport.Firebird.dll в список была добавлена.
    Если я правильно понял readme к FastReport.Firebird, то регистрацию можно сделать в дизайнере (тоже было сделано).
    FastReport.Utils.RegisteredObjects.AddConnection(typeof(FirebirdDataConnection))
    
    на эту строчку студия (2005) ругается:
    Error 1 'FirebirdDataConnection' is a type and cannot be used as an expression. D:\ASPX_2005\testFRFB\Default.aspx.vb
  • DenizDeniz Новый Уренгой
    отредактировано 19:25
    Проект пишется на VB.NET, и typeof там не то что в C#.
    Что написать для VB.NET?
  • отредактировано 19:25
    FastReport.Utils.RegisteredObjects.AddConnection(GetType(FirebirdDataConnection))
  • DenizDeniz Новый Уренгой
    отредактировано 19:25
    Спасибо, заработало.
    Про строчку FastReport.Utils.RegisteredObjects.AddConnection(GetType(FirebirdDataConnection))
    не совсем понятно, "один раз перед первым запуском отчета", т.е. ее достаточно вставить в Global.asax в Application_Start?
  • DenizDeniz Новый Уренгой
    отредактировано 19:25
    Появился еще вопрос.
    Локально все работает, но при переносе на сервер, появились ошибки.
    написал:
    Could not load file or assembly 'System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
    Причем как-то непонятно.
    Запускаю дизайнер, создаю подключение (FireBird), тест подключения проходит.
    Далее в списке таблиц для отчета пусто. Почему?
    Пишу запрос руками (select * from users), выдает список полей правильно.
    Назначаю бенду "Данные" источник.
    Запускаю просмотр и получаю ошибку.
    На сервере установлен FireBird, NETProvider-2.5.2, FastReport.Net 1.3.69, FastReport.Firebird.dll взял с локального компа.
  • отредактировано 19:25
    Это уже не наша ошибка, т.к. System.Data.Entity где-либо в коде FastReport.Net не используется. Скорее всего, эту библиотеку использует Firebird. Возможно, на сервер надо установить .Net Framework 3.5sp1.
  • DenizDeniz Новый Уренгой
    отредактировано 19:25
    Спасибо.
    Будем пробовать.
  • DenizDeniz Новый Уренгой
    отредактировано 19:25
    Спасибо за помощь и оперативность.
    Вопрос решен.
    После установки SP1 на .NET 3.5 все заработало.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.