|
|
|
ASA8+PowerBuilder 5 - ошибка в crosstab report
|
|||
|---|---|---|---|
|
#18+
ASA8+PowerBuilder 5 работают через ODBC После выполнения ХП для не особо сложного кросстаб-репорта пишет: Select error: SQLSTATE=S1009 [Sybase][ODBC driver] Invalid use of null pointer и отчет не выводит (хотя процедура работает, через ISQL все ОК) На ASA5 все работало отлично. В чем может быть проблема, в какую сторону ковырять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 11:43 |
|
||
|
ASA8+PowerBuilder 5 - ошибка в crosstab report
|
|||
|---|---|---|---|
|
#18+
Дело, оказывается, даже не в самом кросстабе, а вообще непонятно в чем. Делал грид, убрал половину результатов - все равно та же ошибка. Что за фигня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 12:17 |
|
||
|
ASA8+PowerBuilder 5 - ошибка в crosstab report
|
|||
|---|---|---|---|
|
#18+
Не знаю в тему ли - но на прошлой неделе я благополучно снес коннект к ASA 9 у моей программы на PB через ODBC и перешел на OLE DB. Как оказалось у PB при работе с ХП через ODBC есть очень много дурных привычек - к примеру чисто случайно я наткнулся на ситуацию, что если у ХП обьявлены целочисленные параметры, то DataWindow с удовольствием при вызове ХП преобразовывает их к беззнаковым целым, таким образом уводя минусовые значения в переполнение, что я и получил на параметре с типом smallint :) Я пообщался с знающими людьми и мне пояснили что с ХП через ODBC начиная с PB6 и далее по всем версиям работать нельзя, так как можно много всего огрести. Не знаю - может быть и в 5-ке существуют аналогичные проблемы, просто эти люди начали работать с PB 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 13:27 |
|
||
|
ASA8+PowerBuilder 5 - ошибка в crosstab report
|
|||
|---|---|---|---|
|
#18+
Нашел я.... Оказывается, при создании отчета этот гад(PB) пишет строку вызова ХП в примерно следующем виде: "execute dbo.moneyremains; 0 ....". На ASA5 все прокатывало (видимо, дело в ODBC-драйвере). А на ASA8 при Fetch'е данных у него из-за этого что-то переклинивает. Т.е. я переписал вызов в нормальный вид "call dbo.moneyremains(...)" - и усе заработало. Правда, data source для crosstab он не кажет, поэтому пришлось это сделать в HEX-редакторе, другого пути я не смог придумать. Вот такая петрушка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 13:46 |
|
||
|
ASA8+PowerBuilder 5 - ошибка в crosstab report
|
|||
|---|---|---|---|
|
#18+
ASCRUSЯ пообщался с знающими людьми и мне пояснили что с ХП через ODBC начиная с PB6 и далее по всем версиям работать нельзя, так как можно много всего огрести. Нельзя ли у них уточнить, что я делаю не так, если за последние года 4 работы с ХП (SA5.5, 6, 8) из PB6.5.1 никаких проблем не возникало ;)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 14:56 |
|
||
|
ASA8+PowerBuilder 5 - ошибка в crosstab report
|
|||
|---|---|---|---|
|
#18+
Да я сам буквально на прошлой неделе напоролся на то, что при вызове ХП у которой стоит параметр smallint при записи минусового значения через эту ХП DW брал и посылал вместо -1 положительные 4 миллиона с чем то (как раз результат приведения к беззнаковому). Причем я честно потратил на это день и вынес однозначный вердикт - виноват был именно DW, ASA была абсолютно не причем. Поменял на OLE DB и все заработало как часы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 15:12 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=115&tid=2014122]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 143ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...