Страница 1 из 2

Сохранение источника данных

Добавлено: 18 авг 2006, 03:39
BeraleX
Существует ли возможность сохранения источника данных вместе с файлом отчета? Если да, то как реализована(или есть способ реализовать?)?
Спасибо.

Сохранение источника данных

Добавлено: 18 авг 2006, 05:19
Xptr
Хороший вопрос, потому как пришлось инфомацию по источнику данных сохранять дополнительно вместе с отчетом в БД.

Сохранение источника данных

Добавлено: 18 авг 2006, 08:46
Vital

Можете уточнить, что подразумевается под сохранением источника данных?

Сохранение источника данных

Добавлено: 18 авг 2006, 09:02
BeraleX
Допустим, я добавляю oledbconnection при запуске приложения с помощью Report.RegData("test",oleDBConnection);, после этого в рантайме редактирую отчет, добавляю источник данных, пишу в нем строку запроса, создаю отчет. Все работает. Сохраняю его в БД (Выхожу из режима дизайнера). При попытке загрузки отчета в режиме просмотра из БД он ничего не показывает, т.к. ссылка на oleDBconnection в экземпляре Report осталась, а вот источника данных нет.

Сохранение источника данных

Добавлено: 18 авг 2006, 09:14
Vital
В этом случае необходимо добавлять новое соединение в report.Dictionary.Databases.

Спасибо.

Сохранение источника данных

Добавлено: 18 авг 2006, 09:19
BeraleX
Как же тогда преобразовать имеющийся объект класса OleDBConnection к вашему классу StiDatabase.

Сохранение источника данных

Добавлено: 18 авг 2006, 09:22
Vital

report.Dictionary.Databases.Add(new StiOleDbDatabase("Name", "Connection String"));

name - нужно использовать в свойстве источника данных DataName.

p.s. Мы добавим возможность автоматического преобразования. Спасибо.

Спасибо.

Сохранение источника данных

Добавлено: 18 авг 2006, 09:51
BeraleX
Спасибо за ответ. Если можно, сообщитепожалуйста, когда будет добавлена возможность. Вопрос об oleDbConnection стоит достаточно остро. Вообще очень нежелательно создавать еще одно соединение с БД, когда одно уже есть. Как вы планируете реализовать функцию приведения? Если просто реализовать преобразование с помощью метода создания соединения вашего объекта (StiOleDbDatabase("Name", "Connection String")), то это не решит проблему дополнительного соединения. Хотелось бы напрямую использовать существующее уже соединение.

Сохранение источника данных

Добавлено: 18 авг 2006, 09:52
BeraleX
Спасибо за ответ. Если можно, сообщитепожалуйста, когда будет добавлена возможность. Вопрос об oleDbConnection стоит достаточно остро. Вообще очень нежелательно создавать еще одно соединение с БД, когда одно уже есть. Как вы планируете реализовать функцию приведения? Если просто реализовать преобразование с помощью метода создания соединения вашего объекта (StiOleDbDatabase("Name", "Connection String")), то это не решит проблему дополнительного соединения. Хотелось бы напрямую использовать существующее уже соединение.

Сохранение источника данных

Добавлено: 18 авг 2006, 13:45
Vital
К сожалению, это будет именно просто функция приведения. Вам необходимо зарегестрировать внешнее соединение через RegData.
Перед режимом просмотра, после загрузки отчета, нужно зарегестрировать соединение точно также как и перед вызовом
дизанера. Иначе как генератор отчетов узнает о текущем, необходимом соединение с базой данных? Если у Вас есть идеи как улучшить ситуацию
пожалуйста излагайте. С нашей стороны это только приветсвуется.

Спасибо.