|
|
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Поставил ASA8, распоследнее обновление. Клиент отказывается работать, мотивируя отказом драйвера (см. рис). Подключение происходит нормально (откуда угодно, включая Excel). А мой клиент не ретрайвит данные. Путем проб и ошибок был установлен ODBC-драйвер ASA8 образца 2003 года, и все стало работать. Скажите мне, неумному, что такого можно было напортачить в драйвере? Или это кривой клиент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 22:12 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Ну вообще-то там несколько кривостей :) И в драйвере и в клиенте. Начнем по порядку: SQLSTATE S1003 это ошибка из ODBC 2.x в ODBC 3.x она была смапирована на HY003 "Invalid application buffer type" и случиться она может при вызове функций SQLBindCol, SQLBindParameter, SQLGetData. Теперь уточняй чего именно клиент делает когда получает такую ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2004, 00:12 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Честно говоря, я не знаю что он делает (чиста канкретна :) А по факту - он не видит НИ ОДНОЙ таблицы в базе. Т.е. чего-то запрашивает (не знаю как промежуточном ПО организован просмотр списка таблиц, читает он системные таблицы с описаниями или как-то по-другому действует), и получает в итого дулю с маслом. Не видит даже системных таблиц. Самое мерзкое, что даже клятый Эхель все прекрасно видит и выполняет запросы безо всякого ущерба для себя. Другое дело, что Эхель - 2000 года, а мой клиент - 1997. Может, в стандарте ODBC за это время что-то сменилось? Пока вот выкрутился дровами от ASA8.0.2, но страшновато юзать базу 8.0.3 старым драйвером, вдруг че поломается? Есть слабая надежда, что где-нибудь что-нибудь ручками поправить можно. Знать бы где ковырять. И что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2004, 00:48 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Ну не так уж оно и страшно, использовать чуть более старый ODBC драйвер чем база. Ничего там поломаться не должно. А насчет покрутить ручками, попробуй сделать свежую пустую базу 8.0.3 и подсунь ее клиенту вместо рабочей. Если он на пустой (или демо) базе не выругается, бери свою рабочую базу и сравнивай ее опции с опциями по умолчанию. Я когда мигрировал с семерки на девятку именно так и отлавливал странные глюки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2004, 17:24 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Пробовал я создавать новые базы. Ничего хорошего. После 8.01 ни одна из них не работает. Мне кажется, что это как-то связано с доп. поддержкой Java, появившейся в 8.02 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2004, 21:25 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Я даже нашел место, на которое он ругается: [SRC ODBCtrace] 6e8-284 EXIT SQLSetStmtOption with return code 0 (SQL_SUCCESS) HSTMT 00B92178 UWORD 9 <SQL_ROWSET_SIZE> SQLPOINTER 0x00000064 (BADMEM) DW050 6e8-284 ENTER SQLBindCol HSTMT 00B92178 UWORD 1 SWORD 30709 <unknown> PTR 0x001BB6AC SQLLEN 129 SQLLEN * 0x001AACA4 6e8-284 EXIT SQLBindCol with return code -1 (SQL_ERROR) HSTMT 00B92178 UWORD 1 SWORD 30709 <unknown> PTR 0x001BB6AC SQLLEN 129 SQLLEN * 0x001AACA4 [/src] А должно быть так: [SRC ODBCtrace] 574-578 EXIT SQLSetStmtOption with return code 0 (SQL_SUCCESS) HSTMT 00B91798 UWORD 9 <SQL_ROWSET_SIZE> SQLPOINTER 0x00000064 (BADMEM) DW050 574-578 ENTER SQLBindCol HSTMT 00B91798 UWORD 1 SWORD 1 <SQL_C_CHAR> PTR 0x001BB944 SQLLEN 129 SQLLEN * 0x001B8AF0 DW050 574-578 EXIT SQLBindCol with return code 0 (SQL_SUCCESS) HSTMT 00B91798 UWORD 1 SWORD 1 <SQL_C_CHAR> PTR 0x001BB944 SQLLEN 129 SQLLEN * 0x001B8AF0 (0) [/src] Что бы это значило? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2004, 21:58 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
mustliveЯ даже нашел место, на которое он ругается: [SRC ODBCtrace] DW050 6e8-284 ENTER SQLBindCol HSTMT 00B92178 UWORD 1 SWORD 30709 <unknown> PTR 0x001BB6AC SQLLEN 129 SQLLEN * 0x001AACA4 [/src] Что бы это значило? Ошибка произошла где-то раньше. Драйвер сообщает клиенту тип колонки, но вместо единички (char то есть) появляется нечто странное (30709). А потом клиент пытается привязать колонку резалтсета к собственной переменной, а в качестве типа колонки выдает 30709. "Invalid application buffer type" :) Кстати, обрати внимание на всякий случай. Клиент работает с ODBC 2.*, а на машине стоит скорее всего ODBC 3.5 и выше. Тут тоже могут быть разночтения... Если есть возможность - было бы неплохо перекомпилировать клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2004, 23:16 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Если у тебя ПБуилдер, то какая версия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2004, 00:00 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
автор Ошибка произошла где-то раньше. Да нет, судя по логу - именно в этом месте начинаются (да собственно и заканчиваются error'ом чудеса в решете). После этого клиенту уже остается только тихо офигевать автор Если у тебя ПБуилдер, то какая версия? У меня страшный зверь по прозвищу DataWindow Builder 5.0 :) End-of-life product. Перекомпилировать его возможности, к сожалению, нет. Компания Powersoft забыла выложить исходники ): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2004, 03:40 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Ну вот, а я то думал, что кроме меня и Judge на SQL.RU все остальные спят :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2004, 04:15 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
In ASA 8.0.2 build 4330 the Sybase added the support for the UniqueIdentifier data-type, (SQL_GUID). This is causing PB 5 to become confused. All works fine with PB 9. Upgrade to PB9 or revert dbodbc8.dll back to 8.0.2 ebf 4322. Возможно переход на 6.5.1. помог бы.... По 'правилам от Сибасе', с ОДБЦ от АСА802 можно работать с любой АСА. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2004, 07:22 |
|
||
|
ASA8. Более свежий ODBC-драйвер на клиенте не работает
|
|||
|---|---|---|---|
|
#18+
Спасибо большое, _Dog Я тут еще поковырял, и нашел, что он лажает с этим драйвером при запросе списка таблиц (LIST TABLES). И никак это не побороть, просто драйвер подпихивает непонятно что, которое DW не кушает. Если же они сами пишут, что нужен downgrade для корректной работы, поробуем поверить на слово. Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2004, 13:37 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32672334&tid=2014257]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 366ms |

| 0 / 0 |

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