powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибки через ODBC
8 сообщений из 8, страница 1 из 1
Ошибки через ODBC
    #33236676
искатель22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
Ошибки через ODBC
    #33236966
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Команда на подключение к базе проходит? Значит все параметры связи в порядке.

Идешь в ODBC Adminstrator, ищешь там вкладку Tracing, указываешь на ней имя лог файла, жмешь кнопку "Start Tracing Now" и запускаешь свое клиентское приложение. Потыкаешься, получишь ошибку. Открываешь любым текстовым редактором лог ODBC и смотришь что BDE в реальности посылало серверу.

.... после чего долго и в меру воспитанности материшься и стираешь BDE к чертовой матери :)
...
Рейтинг: 0 / 0
Ошибки через ODBC
    #33236986
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
искатель22 wrote:

> P.S Приложение использует BDE.

Фтопку. Для доступа к ASA есть нормальные компоненты, которые и следует
применять вместо этого мусора.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Ошибки через ODBC
    #33238267
искатель22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Трассер 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
...
Рейтинг: 0 / 0
Ошибки через ODBC
    #33239631
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
искатель22Трассер ODBC уже делал,там все хорошо.
Если бы там все было хорошо, оно бы все работало. Показывай.
Пока возникает подозрение что юзер не имеет прав на выборку из нужных таблиц.
...
Рейтинг: 0 / 0
Ошибки через ODBC
    #33240385
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня было подобное если имя таблицы/поля совпадало с зарезервированным словом ОДБЦ или/и самой базы
...
Рейтинг: 0 / 0
Ошибки через ODBC
    #33240570
искатель22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
трассер 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.

Как быть?
...
Рейтинг: 0 / 0
Ошибки через ODBC
    #33241830
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой тип поля Rate в таблице "dba".USDRate?

искатель22Я думаю, что это ошибки BDE(5.01), но использовать в проекте "сторонние" программы очень нежелательно.
Ну не хочешь, не используй. Вызывай ODBC напрямую.
Не хочешь напрямую - существует множество библиотек упрощающих работу с ODBC, есть даже такие которые изображают из себя BDE :)

искатель22Как быть?
Выкидывать BDE к чертовой матери.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибки через ODBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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