Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Связка PowerBuilder 8.0.3 + Crystall Reports 9 / 25 сообщений из 25, страница 1 из 1
28.08.2003, 14:14
    #32250103
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
С КрИсталом 8.5 все было Ок, а вот с 9-м...

Код: plaintext
1.
2.
3.
string reportfilename
long job
reportfilename =  "E:\Report1.rpt" 
job = PEOpenPrintJob(reportfilename)

job = 0!
Что за нахрен? Может подскажет кто?

И еще один вопросик по КрИсталу: в 8.5 была возможность отредактировать SQL Query отчета. Неужели в 9-м ее намертво закрыли???

Заранее благодарен.
...
Рейтинг: 0 / 0
28.08.2003, 18:11
    #32250564
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Хех... Проблема слегка изменилась...

1. Раньше (вплоть до версии 8.5), я мог при конструировании отчета изменить SQL Query. Например: Когда рисуешь отчет, в SQL Query, в области FROM проставляется 'database_name'.dbo.'table_name'. Тоесть отчет жестко привязывается к БД. Я открывал SQL Query, удалял 'database_name'.dbo., сохранял Query и сам отчет, и все это спокойно жило на любой базе. В версии 9 же SQL Query не редактируется.
Или я просто не смог найти где это сделать? Подскажите если знаете.

2. Далее, в связи с п.1, возникает проблема при подключении отчета к приложению. Баз много, называются они по разному. И отчет, "прошитый" на определенную базу, ругается и не открывается на других базах. Код вызова (который ругается) такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
   rcode = PEStartPrintJob (job, True)
	if rcode =  1  then
	else
		errcode = PEGetErrorCode(job)      
   	messagebox( "Ошибка!" ,  "Error Starting Print Job" ) 
   	messagebox( "Номер ошибки" , errcode) 
   end if

Номер ошибки = 536
В хелпе текст ошибки гласит: PE_ERR_DATABASELOGON : You have attempted to log on using incomplete or incorrect log on parameters.

Но перед этим спокойно, без ошибок, проходит другой кусок кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
int rcode
logoninfo li
string rsformula
int errcode
long engineopen, job
 
engineopen = PEOpenEngine ()
 
if engineopen <>  0  then
else
  messagebox ( "Ошибка!" ,  "Не могу открыть отчет." )
  return
end if
 
string reportfilename
reportfilename = 'E:\Report1.rpt'
 
job = PEOpenPrintJob(reportfilename)
if job =  0  then
  messagebox ( "Ошибка!" ,  "Файл отчета не найден." )
  return
else
end if
 
li.size =  514 
li.servername = 	SQLCA.ServerName + char( 0 )
li.databasename = SQLCA.Database + char( 0 )
li.userid = 	SQLCA.LogId + char( 0 )
li.password = 	SQLCA.LogPass + char( 0 )
 
rcode = PELogOnServer( "P2SSQL.DLL"  + char( 0 ), li)
if rcode =  0  then
  messagebox ( "Ошибка!" ,  "Не могу соедениться с БД." )
else
end if
 
int ntables
int i
 
ntables = PEGetNTables(job)
for i =  0  to ntables -  1 
	PESetNthTableLogOnInfo(job,i,li,True)
next
 
rcode = PEOutputToWindow(job,  "Отчет" ,  0 ,  0 ,  790 ,  590 ,  0 ,  0 )
И ничего не возвращает ошибок, ничего не падает, логон проходит нормально!
Подскажите, где я ошибаюсь?

Заранее спасибо,
С уважением,
IKAR
...
Рейтинг: 0 / 0
29.08.2003, 12:58
    #32251252
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Народ, неужели никто не работает с Crystall Reports 9 из под PowerBuilder???
...
Рейтинг: 0 / 0
05.09.2003, 00:39
    #32256467
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
up!

Вопрос все еще актуален....
...
Рейтинг: 0 / 0
05.09.2003, 17:07
    #32257331
Guest11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
> Народ, неужели никто не работает с Crystall Reports 9 из под PowerBuilder???
В PB же есть DataWindow!!! Нафига нужен CR ???

У меня огромный опыт написания отчетов. DW для этого очень подходит, хотя конечно есть немало глюков в нем, которые sybase не исправляет. В DW вручную можно не просто запрос написать, а вообще чего угодно ваять на TSQL(для MS SQL) , главное что последним был select возращающий данные для отчета. В CR пробовал писать вручную: это кошмар! На фига в нем эти визуальные конструкторы? Сложный отчет в нем просто не реально написать!
...
Рейтинг: 0 / 0
05.09.2003, 21:05
    #32257518
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
2 Guest11 :

Сложный отчет в нем просто не реально написать!

Ошибаетесь, коллега, вполне реально! Сложно, да, гиморно, непривычно, но реально. Видимо Вы (ИМХО) мало времени уделили своим попыткам.
Я на нем, в полть до версии 8.5, рисовал, не побоюсь этого слова, архисложные отчеты. Да, на отчет уходит гораздо больше времени, чем на DW. Да, отчет нужно подвязывать и вызывать. Да, отчеты на Crystal Reports требуют еще один run-time. НО! Отчеты Crystal Reports ( в некоторых случаях ) отрабатывают быстрее чем DW. Отчеты Crystal Reports двумя-тремя кликами крысы экспортятся и в Word, и в Excel, и в PDF, и во множество других разных форматов, а так же в другие БД (через ODBC). При этом я, для реализации экспорта, не пишу ни одной строчки кода. Можно это реализовать через DW? Можно, но очень долго, сложно и дорого. По этому я (и фирма, в которой я работаю) выбрал Crystal Reports и ничуть не жалею об этом.
Единственное, что пока удручает - это то, что версия 9 существенно отличается от предыдущих и пока я не смог в ней до конца разобраться. Но это дело времени и усердия. Так что даже если я не получу ответов на свой вопрос здесь, или на каком либо другом ресурсе сети, я все равно найду как решается проблема.

ЗЫ: акцентирую Ваше внимание: все, мною сказаное - ИМХО! :)
...
Рейтинг: 0 / 0
30.01.2004, 01:10
    #32392957
Winnipeger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Hi guys,
It's working but you have to use the Name_odbc instead of server_name and
pdsodbc.dll instead of P2SSQL.DLL
Enjoy :)
...
Рейтинг: 0 / 0
30.01.2004, 01:49
    #32392969
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Вдогонку:
Проверить External Function Declaration для PEOpenPrintJob - она теперь в "crpe32_9.dll", а не в "crpe32.dll" живёт...
...
Рейтинг: 0 / 0
30.01.2004, 16:10
    #32394020
___Vlad
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
А где можно почитать как "поженить" кристал с билдером.
И каковы основные моменты.
спасибо
...
Рейтинг: 0 / 0
02.02.2004, 14:09
    #32395371
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
2 ___Vlad:
Где почитать - не знаю, а вот как "поженить" - спрашивайте что Вас конкретно интересует - постараемся ответить... :)
---
С уважением, IKAR
ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
02.02.2004, 21:35
    #32395984
Winnipeger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Look there
http://www.delphikingdom.com/mastering/cr_api.htm
http://support.businessobjects.com/communityCS/TechnicalPapers/scr7_powerbuilder.pdf.asp
...
Рейтинг: 0 / 0
01.10.2004, 19:03
    #32720774
maleh1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Вопрос наверно к Ikar'у
Вроде как в Crystall Reports есть ф-ция которая меняет запрос в отчете
PESetSQLQuery(...), но она почему то отказывается работать, т.е. ф-ция возвращает "1", а запрос в отчете не изменяется. В чем может быть причина?

PS в отчете есть subreport и изменения запросов происходит во всех формах (в основном отчете и во вложенных)
...
Рейтинг: 0 / 0
04.10.2004, 08:49
    #32721523
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Сорри, но на этот вопрос я ответить не смогу, т.к. не знаю...
Возможно ситуацию поможет прояснить "gerss" - он боьше меня с Кристалом воевал...
---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
04.10.2004, 10:18
    #32721652
maleh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
2 Ikar
Ясно, буду ждать его появления.
Т.е. тебе так и не удалось в 9 кристале менять запрос в отчете?
...
Рейтинг: 0 / 0
04.10.2004, 10:28
    #32721673
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
malehТ.е. тебе так и не удалось в 9 кристале менять запрос в отчете?Я не пытался это сделать, т.к. не возникало необходимости...
---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
04.10.2004, 10:42
    #32721698
maleh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
IkarРаньше (вплоть до версии 8.5), я мог при конструировании отчета изменить SQL Query. Например: Когда рисуешь отчет, в SQL Query, в области FROM проставляется 'database_name'.dbo.'table_name'. Тоесть отчет жестко привязывается к БД. Я открывал SQL Query, удалял 'database_name'.dbo., сохранял Query и сам отчет, и все это спокойно жило на любой базе. В версии 9 же SQL Query не редактируется.

А я почему то подумал, что ты динамически менял запрос в отчете
...
Рейтинг: 0 / 0
04.10.2004, 11:03
    #32721740
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Guest11
У меня огромный опыт написания отчетов. DW для этого очень подходит, хотя конечно есть немало глюков в нем, которые sybase не исправляет. В DW вручную можно не просто запрос написать, а вообще чего угодно ваять на TSQL(для MS SQL) , главное что последним был select возращающий данные для отчета. В CR пробовал писать вручную: это кошмар! На фига в нем эти визуальные конструкторы? Сложный отчет в нем просто не реально написать!

Любой отчет написать можно. Например весь отчет генерит процедура а в Crystall Reports делаем внешний вид.
...
Рейтинг: 0 / 0
04.10.2004, 11:08
    #32721755
gerss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
По поводу "отвязки" отчета от базы.

Если требуется такая вещь, значит наверняка есть как минимум 2 базы, причем с разными именами. Делаем отчет полностью на одной базе. после чего меняем источник данных средствами CR!!! Открываем на просмотр SQL Query - опа, [database_name].dbo. исчезло, то есть отчет отвязан от БД; его можно использовать где угодно!
...
Рейтинг: 0 / 0
04.10.2004, 11:23
    #32721790
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
malehА я почему то подумал, что ты динамически менял запрос в отчетеНет, я деал это не динамически, а разово, при создании отчета, в пэинтере CR.

---
С уважением, IKAR

ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
04.10.2004, 12:47
    #32721993
maleh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Проблема в следующем: база Oracle, задача запускать кристальные отчеты под разными пользователями oracle. Т.е. к примеру рабочая схемы "dbo", нам необходимо запустить отчет под пользователем test (естественно его схемой является схема test). И еще название рабочей схемы может меняться, т.е. отчет нельзя привязывать к схеме. т.о. запросы в отчетах пишутся без указания схемы.
пути решения:
1. после соединения с базой пользователя test поменять ему текущую схему, тогда
ему не потребуется указывать название схемы перед объектами базы (табл., процедуры). т.е. после того как кристал соединился с базой нужно выполить в этой сессии команду (ALTER SESSION SET .......) но такой возможности в кристале я не нашел.
2. для пользователя test создать синонимы на схему dbo (заказчик отказался от такого решения мотивируя, что пользователь test сможет работать только со схемой dbo)
3. динамически подставлять название схемы. С процедурами нет проблем (ф-ция PESetNthTableLocation успешно меняет схему у процедуры, но с запросами она не работает). дабы всетаки поменять схему у табл. в запросах я написал свой простенький разборщик sql, ф-ция кристала PEGetSQLQuery (затем PEGetHandleString) успешно извлекает запросы из отчетов, но вот ф-ция PESetSQLQuery ничего не менят.

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

Может у кого-нибудь есть соображения как решить эту проблему
...
Рейтинг: 0 / 0
04.10.2004, 19:42
    #32722934
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
maleh
...свой простенький разборщик sql, ф-ция кристала PEGetSQLQuery (затем PEGetHandleString) успешно извлекает запросы из отчетов, но вот ф-ция PESetSQLQuery ничего не менят.


И в 10 CR не работает ;(((
...
Рейтинг: 0 / 0
05.10.2004, 06:23
    #32723127
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
2 maleh
Не надо делать (ALTER SESSION SET .......)
Используйте синонимы: CREATE SYNONYM ......
...
Рейтинг: 0 / 0
05.10.2004, 09:46
    #32723265
maleh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Геннадич Используйте синонимы: CREATE SYNONYM ......
я бы с радостью, но
maleh2. для пользователя test создать синонимы на схему dbo (заказчик отказался от такого решения мотивируя, что пользователь test сможет работать только со схемой dbo)
...
Рейтинг: 0 / 0
05.10.2004, 10:30
    #32723367
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
Ну и пусть себе работаает, кто мешает ограничить в правах на использование других схем. А ссылка на объект что меняет? Права на пользования выдаются не синонимам, а ролям или пользователям, синоним же просто ссылка. Даже если у пользователя test есть синоним на таблицу из схемы test2, но не грантованы права, то test никогда не сможет ничего увидеть в объектах test2.
Но если
автордля пользователя test создать синонимы на схему dbo (заказчик отказался от такого решения мотивируя, что пользователь test сможет работать только со схемой dbo)
то сделай CREATE PUBLIC SYNONYM emp FOR dbo.emp - это не для test, это для всех.
...
Рейтинг: 0 / 0
05.10.2004, 10:41
    #32723388
maleh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связка PowerBuilder 8.0.3 + Crystall Reports 9
2 Геннадич
Я наверно не правильно выразился. Дело в том, что пользователь test должен иметь возможность подключаться к схеме dbo и к примеру к схеме dbo_test. Поэтому public синонимы не подходят, т.к. dbo и dbo_test имеет одинаковые объекты
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Связка PowerBuilder 8.0.3 + Crystall Reports 9 / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]