Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / BUG при доступе к SA 11.0 (ASA 11.0) через ADO DB / 2 сообщений из 2, страница 1 из 1
14.10.2008, 18:03
    #35594250
AntonXZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BUG при доступе к SA 11.0 (ASA 11.0) через ADO DB
Обнаружил вот такую засаду при использовании Microsoft OLE DB Provider for ODBC. При select'е из любой таблицы по первичному ключу, если тип курсора не adOpenForwardOnly - возвращается не одна запись, а 2. Проверить просто, ниже VBS скрипт, в котором выполняется SELECT * FROM GROUPO.Products where id=300 из демо базы "SQL Anywhere 11 Demo", которая ставится Sybase'ом. Должна вернуться одна строка, а возвращается 2. Проверял на 2-х разных машинах - везде такая вот лажа. Кто нибудь это тоже наблюдает?

Run:
script test.vbs
=========test.vbs=======================
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1


sSql="SELECT * FROM GROUPO.Products where id=300"


Dim oConn
Dim oRS

set oConn= CreateObject("ADODB.Connection")
oConn.Open "SQL Anywhere 11 Demo"


WScript.Echo sSql

Set oRs = CreateObject("ADODB.RecordSet")
oRs.Open sSQL, oConn, adOpenStatic, adLockReadOnly


Do while not oRs.Eof
WScript.Echo "id='" & oRs.Fields.Item("id").value & "'"

oRs.MoveNext
Loop

==============================================
...
Рейтинг: 0 / 0
17.10.2008, 14:27
    #35601023
AntonXZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BUG при доступе к SA 11.0 (ASA 11.0) через ADO DB
Сегодня в Sybase подтвердили (news://forums.sybase.com:119/48f7a4b8$1@forums-1-dub) существование этой проблемы:
============================================
I see your repro is failing the way you describe
and I will be notifying engineering of this.

The problem does not occur when opening the
result set using either adOpenForwardOnly or
adOpenDynamic. So either one may be used
as the workaround for now.

It definitely occurs with adOpenKeyset or adOpenStatic.
It appears that the first call to SQLFetchScroll( ) using
bookmarks is refetching the results from the current cursor
position. The other two cursor types do not use bookmarks
and they are not exposed to this problem.
============================================
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / BUG при доступе к SA 11.0 (ASA 11.0) через ADO DB / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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