|
Reporting Services
|
|||
---|---|---|---|
#18+
Сэры, может кто-нть в RS сталкивался со следующими фишками: 1. При попытке распечатать некий отчет прямо из эксплорера (нажатием на значок принтера с хинтом "Print Report" в тулбаре сгенеренного отчета) выдается "An error occured trying to render the report. (0x800C0005)". Причем явно зависит от конкретного экземпляра, т.к. тот же отчет по другим данным печатается нормально. Код ошибки этот означает "Access is denied", насколько я понимаю, но вот к чему нет доступа, почему ни распечатать, ни превью сделать не может? 2. При вводе текствого параметра длиннее некоторого размера отчет не генерится в принципе. Т.е., например, если строка 33 символа, то отчет создается. А если 34 - уже нефига. Даже хранимая процедура не вызывается, из профайлера видно. Причем эта критическая длина варьируется каждый раз, в зависимости от того, сколько других параметров задано. Такое ощущение, что сервер не может сгенерить строчку с вызовом хп, если она оказывается длиннее ~1330 символов. Это действительно так? Понимаю, что, скорее всего, дело в настройках или iis, или .net, но я в них полный нуль, так что может хоть примерно подскажете... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 17:12 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Сэры, может сталкивался кто: Имеется отчет с 36-ю параметрами. Ну вот понадобилось. При задании строкового параметра длиннее некоего лимита отчет не генерится вообще. Т.е., к примеру, если в параметре 33 символа, то генерится нормально. А если 34 - нефига. Даже хранимая процедура не вызывается, из профайлера видно. Причем лимит этот зависит от того, сколько других параметров задано. Ощущение такое, словно сервер создает строчку для вызова хп, и, если она длиннее ~1330 символов, то он ее sql-сервису не передает. В чем может быть дело? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 17:56 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Опытным путем выяснилось, что лимит разный только в случае использования русских символов, т.к. они преобразуются в строку вида "%2f%d0%...". На самом же деле фишка следующая: 257 символов проходят нормально; При длине строки-параметра от 258 до 265 отчет не генерится, но визуально запускается (выдается надпись "Report is being generated" и зеленая хрень мерцает); 266+ символов - не генерится вообще, т.е. даже надпись "Report is being generated" не выдается и зеленая хрень не мерцает... Собственно, 256 символов вполне достаточно, но из-за преобразования в вышеуказанный вид, когда каждый русский символ заменяется своим юникодом из 6 символов, максимальная длина русской строки становится 257/6 = 43. Видимо, подобная проблема возникает при попытке распечатать отчет, хотя я не имею ни малейшего представления, как оно работаить. Внимание. вопрос: Кто-нть знает, как можно увеличить длину текстового параметра? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 19:14 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Какую версию вы используете? -- This posting is provided "AS IS" with no warranties, and confers no rights. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2005, 07:02 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Попробуйте включить print'у трассировку и посмореть после какой операции он падает. Логи создаются в %temp% ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2005, 07:20 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Используется MS SQL 2000 Reporing Services SP2. В прицепе лог печати. Отваливается на API call m_httpRequest->send failed 0x800C0005. (717)) Может быть, это потому, что значение предыдущей строки "Url = ..." превышает 2048 символов? Это что же, для передачи параметров используется Get, а не Post? Если так, то непонятно - почему? Я попробовал создать простейший отчет с одним строковым параметром, в котором только и делается, что выводится этот параметр. Так вот в качестве значения тоже проходит не более 1793-х символов. Видимо, тоже потому, что иначе в сумме серверу передается больше 2048 символов. Может, в 2005-м RS это ограничение снято? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2005, 11:18 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Используется MS SQL 2000 Reporing Services SP2. В прицепе лог печати. Отваливается на API call m_httpRequest->send failed 0x800C0005. (717)) Может быть, это потому, что значение предыдущей строки "Url = ..." превышает 2048 символов? Это что же, для передачи параметров используется Get, а не Post? Если так, то непонятно - почему? Я попробовал создать простейший отчет с одним строковым параметром, в котором только и делается, что выводится этот параметр. Так вот в качестве значения тоже проходит не более 1793-х символов. Видимо, тоже потому, что иначе в сумме серверу передается больше 2048 символов. Может, в 2005-м RS это ограничение снято? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2005, 11:19 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Действительно, в RS 2000 print control общается с сервером через HTTP GET, при этом все параметры и их значения присутствуют в URL. Ограничение на длину URL в данном случае накладывается не сервером, а клиентом (IE). В SQL 2005 Print control работает по другому, так что проблем с передачей параметров быть не должно. --- This posting is provided "AS IS" with no warranties, and confers no rights. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2005, 23:48 |
|
Reporting Services
|
|||
---|---|---|---|
#18+
Понятно, спасибочки. Попробую, как себя 2005-й ведет. Я правильно понял, что Get используется не только в Print Control, но и просто при вызове отчета? Потому что проблема возникает не только при печати, но и просто при попытке получить отчет с большим количеством длинных парметров. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2005, 10:54 |
|
|
start [/forum/topic.php?fid=31&fpage=167&tid=1539379]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 167ms |
0 / 0 |