21.03.2005, 14:17 | #1 |
Участник
|
Crystal report и login в него
Добрый день!
При показе в Axapta отчетов, формируемых в Crystal, столкнулись со следующей проблемой. Отчет упорно пытается связатьс с тем самым DS, Базой и таблицей, на которых он был запрограммирован. Спасает толко прямая переустановка ему каждого RecordSet'а (что-то вида <i>RecordSet.Open("select * from Dimensions",Conn);</i>). Что плохо, ибо в итоге тормоза страшненные. Кто-нибудь сталкивался с такой проблемой? Знает, как с ней бороться??
__________________
Улыбаемся и машем, парни! Улыбаемся и машем... |
|
21.03.2005, 14:39 | #2 |
Участник
|
А какая у Вас версия?
До версии 8.5 все описанное ниже верно. Про более поздние версии ничего сказать не могу ибо не юзал. Cristal Report штука очень хорошая, но как и любая программа имеет свои плюсы и минусы. Вы как раз натолкнулись на тот минус с которым бороться бесполезно. (( Если Вы работаете с разными базами данных, ds, таблицами то для Вам необходимо будем генерить новые отчеты при изменении базы ну и т.д. . Используйте стандартные аксаптовские отчеты и будет Вам счастье )) Хотя так красиво как в кристале не получиться, но проблем у Вас будет гораздо меньше. |
|
21.03.2005, 14:46 | #3 |
Участник
|
Цитата:
Изначально опубликовано Zan
А какая у Вас версия? Самое интересное, что у знакомых из собственной программы (не Axapte, но та же ActiveX контролка) все прекрасно работает на той же 9.0. Они вызываются следующую строку коннекта: PHP код:
__________________
Улыбаемся и машем, парни! Улыбаемся и машем... |
|
01.04.2005, 13:26 | #4 |
Участник
|
у меня вот так работает:
COM _application; COM _report; COM _RecordSet; COM _Database; COM _DatabaseTables; COM _DatabaseTable; COM _CProperties; SysSQLsystemInfo _SysSQLsystemInfo=new SysSQLsystemInfo(); ; _application = new COM("CrystalRuntime.Application"); _report = new COM("CrystalRuntime.Report"); _report = _application.OpenReport(_nameReport, 1); _Database =_report.database(); _DatabaseTables= _Database.tables(); _DatabaseTable=_DatabaseTables.item(1); _CProperties=_DatabaseTable.ConnectionProperties(); _DatabaseTable.DllName("crdb_ado.dll"); _SysSQLsystemInfo.init(); _CProperties.DeleteAll(); _CProperties.Add("Provider", "SQLOLEDB.1"); _CProperties.Add("Data Source", _SysSQLsystemInfo.getLoginServer()); _CProperties.Add("Initial Catalog", _SysSQLsystemInfo.getloginDatabase()); _CProperties.Add("User ID", _SysSQLsystemInfo.getLoginName()); _CProperties.Add("Password", "пароль"); |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|