Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
ASA 9.0.2 Соединение клиентского приложения через ODBC. При просмотре пакетов с помощью CommView вижу , на все селекты сервер отвечает - "невозможно выполнить операцию", хотя SELECT написан верно и приложение получает данные от сервера.С чем связаны данные ошибки и на что мне обратить внимание. Мне кажется , что дело в ODBC. реестр: "Driver"="C:\\Program Files\\Sybase\\SQL Anywhere 9\\win32\\dbodbc9.dll" "UID"="dba" "DatabaseName"="in" "EngineName"="in" "ConnectionName"="Bill" "AutoStop"="YES" "Integrated"="NO" "EncryptedPassword"="38e" "Debug"="NO" "Encryption"="Simple" "DisableMultiRowFetch"="YES" "CommLinks"="SharedMemory,TCPIP{host=1.1.1.1},NamedPipes" "PrefetchRows"="1000" "Compress"="YES" "Description"="Bill" Все остальное по умолчанию. P.S Приложение использует BDE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2005, 16:33 |
|
||
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
Команда на подключение к базе проходит? Значит все параметры связи в порядке. Идешь в ODBC Adminstrator, ищешь там вкладку Tracing, указываешь на ней имя лог файла, жмешь кнопку "Start Tracing Now" и запускаешь свое клиентское приложение. Потыкаешься, получишь ошибку. Открываешь любым текстовым редактором лог ODBC и смотришь что BDE в реальности посылало серверу. .... после чего долго и в меру воспитанности материшься и стираешь BDE к чертовой матери :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2005, 18:33 |
|
||
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
искатель22 wrote: > P.S Приложение использует BDE. Фтопку. Для доступа к ASA есть нормальные компоненты, которые и следует применять вместо этого мусора. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2005, 18:49 |
|
||
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
Трассер ODBC уже делал,там все хорошо. Запустил сервер с ключами -zr "all" результат: I. 29/08 10:51:05. ** REQUEST conn: 3 STMT_PREPARE "select DeltaTime from "DBA".providers where id=1 I. 29/08 10:51:05. " I. 29/08 10:51:05. ** DONE conn: 3 STMT_PREPARE Stmt=65603 I. 29/08 10:51:05. ** REQUEST conn: 3 STMT_DESCRIBE_OUTPUT Stmt=-1 I. 29/08 10:51:05. ** DONE conn: 3 STMT_DESCRIBE_OUTPUT I. 29/08 10:51:05. ** REQUEST conn: 3 STMT_DESCRIBE_INPUT Stmt=-1 I. 29/08 10:51:05. ** DONE conn: 3 STMT_DESCRIBE_INPUT I. 29/08 10:51:05. ** REQUEST conn: 3 STMT_EXECUTE Stmt=-1 I. 29/08 10:51:05. ** WARNING conn: 3 code: 111 "Невозможно выполнить оператор" и так при любом запросе А это я вообще не понимаю что такое (какой-то системный запрос с той-же ошибкой ) I. 29/08 10:50:58. ** REQUEST conn: 3 STMT_PREPARE [large string unavailable] I. 29/08 10:50:58. ** EXTRA conn: 3 SELECT DISTINCT if domain_name = 'float' then 'real' else domain_name endif AS TYPE_NAME,cast(coalesce(if domain_name='date' then 9 endif,if domain_name='time' then 10 endif,if .........domain_name='numeric' or domain_name='decimal') then 10 endif ) AS integer) AS RADIX,cast(NULL as smallint) AS INTERVAL_PRECISION I. 29/08 10:50:58. FROM SYS.SYSDOMAIN I. 29/08 10:50:58. WHERE domain_name not like 'java%' I. 29/08 10:50:58. AND domain_name = 'double' I. 29/08 10:50:58. ORDER BY 2,1 I. 29/08 10:50:58. ** DONE conn: 3 STMT_PREPARE Stmt=65557 I. 29/08 10:50:58. ** REQUEST conn: 3 STMT_DESCRIBE_OUTPUT Stmt=-1 I. 29/08 10:50:58. ** DONE conn: 3 STMT_DESCRIBE_OUTPUT I. 29/08 10:50:58. ** REQUEST conn: 3 STMT_DESCRIBE_INPUT Stmt=-1 I. 29/08 10:50:58. ** DONE conn: 3 STMT_DESCRIBE_INPUT I. 29/08 10:50:58. ** REQUEST conn: 3 STMT_EXECUTE Stmt=-1 I. 29/08 10:50:58. ** WARNING conn: 3 code: 111 "Невозможно выполнить оператор" I. 29/08 10:50:58. ** DONE conn: 3 STMT_EXECUTE I. 29/08 10:50:58. ** REQUEST conn: 3 CURSOR_OPEN Stmt=65557 I. 29/08 10:50:58. ** DONE conn: 3 CURSOR_OPEN Crsr=65558 I. 29/08 10:50:58. ** REQUEST conn: 3 ROW_DESCRIPTOR Crsr=65558 I. 29/08 10:50:58. ** DONE conn: 3 ROW_DESCRIPTOR I. 29/08 10:50:58. ** REQUEST conn: 3 CURSOR_FETCH Crsr=65558, Count=1, Offset=1 (relative) I. 29/08 10:50:58. ** DONE conn: 3 CURSOR_FETCH I. 29/08 10:50:58. ** REQUEST conn: 3 CURSOR_FETCH Crsr=65558, Count=1, Offset=1 (relative) I. 29/08 10:50:58. ** WARNING conn: 3 code: 100 "Строка не найдена" I. 29/08 10:50:58. ** DONE conn: 3 CURSOR_FETCH ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 11:06 |
|
||
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
искатель22Трассер ODBC уже делал,там все хорошо. Если бы там все было хорошо, оно бы все работало. Показывай. Пока возникает подозрение что юзер не имеет прав на выборку из нужных таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 18:02 |
|
||
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
у меня было подобное если имя таблицы/поля совпадало с зарезервированным словом ОДБЦ или/и самой базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 10:48 |
|
||
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
трассер ODBC Bill ecc-7e8 ENTER SQLExecDirect HSTMT 036948C0 UCHAR * 0x01E5E8BC [ -3] "select Rate from "dba".USDRate where RateDate = '2005.08.30'\ d\ a\ 0" SDWORD -3 Bill ecc-7e8 EXIT SQLExecDirect with return code 0 (SQL_SUCCESS) HSTMT 036948C0 UCHAR * 0x01E5E8BC [ -3] "select Rate from "dba".USDRate where RateDate = '2005.08.30'\ d\ a\ 0" SDWORD -3 Bill ecc-7e8 ENTER SQLNumResultCols HSTMT 036948C0 SWORD * 0x01E5E940 Bill ecc-7e8 EXIT SQLNumResultCols with return code 0 (SQL_SUCCESS) HSTMT 036948C0 SWORD * 0x01E5E940 (1) Трассер Sybase: I. 30/08 11:19:37. ** REQUEST conn: 27 STMT_PREPARE "select Rate from "dba".USDRate where RateDate = '2005.08.30' I. 30/08 11:19:37. " I. 30/08 11:19:37. ** DONE conn: 27 STMT_PREPARE Stmt=65581 I. 30/08 11:19:37. ** REQUEST conn: 27 STMT_DESCRIBE_OUTPUT Stmt=-1 I. 30/08 11:19:37. ** DONE conn: 27 STMT_DESCRIBE_OUTPUT I. 30/08 11:19:37. ** REQUEST conn: 27 STMT_DESCRIBE_INPUT Stmt=-1 I. 30/08 11:19:37. ** DONE conn: 27 STMT_DESCRIBE_INPUT I. 30/08 11:19:37. ** REQUEST conn: 27 STMT_EXECUTE Stmt=-1 I. 30/08 11:19:37. ** WARNING conn: 27 code: 111 "Невозможно выполнить оператор" Я думаю, что это ошибки BDE(5.01), но использовать в проекте "сторонние" программы очень нежелательно. описание ошибки Sybase SQLCODE 111 Constant SQLE_CANNOT_EXECUTE_STMT SQLSTATE 01W08 Sybase error code 590 ODBC 2 State OK ODBC 3 State OK Probable cause You specified a statement for the PREPARE..WITH EXECUTE statement that cannot be executed. If you specified an output SQLDA, it may contain a DESCRIBE of the prepared statement. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 11:37 |
|
||
|
Ошибки через ODBC
|
|||
|---|---|---|---|
|
#18+
какой тип поля Rate в таблице "dba".USDRate? искатель22Я думаю, что это ошибки BDE(5.01), но использовать в проекте "сторонние" программы очень нежелательно. Ну не хочешь, не используй. Вызывай ODBC напрямую. Не хочешь напрямую - существует множество библиотек упрощающих работу с ODBC, есть даже такие которые изображают из себя BDE :) искатель22Как быть? Выкидывать BDE к чертовой матери. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 17:34 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=98&tid=2013430]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 342ms |

| 0 / 0 |
