Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Cursor from PB7.0 to PB8.0 / 24 сообщений из 24, страница 1 из 1
07.11.2005, 12:56
    #33363847
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Перетащили проект с ПБ7.0 на ПБ 8.0. Возникла проблема с курсорами.
Имеется база данных в сети и несколько компьютеров с программой. Если на одном из компов программа запущена, то на другом происходит зависание при попадании на курсор. На ПБ 7.0 проблем не было.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
DECLARE holiday_ind CURSOR FOR
SELECT "row","type"
FROM   "t_hearot"
WHERE  "key" =  9 
ORDER BY "row" ASC;

open holiday_ind;
FETCH holiday_ind INTO :tmp1,:temp_num_color;
DO WHILE SQLCA.SQLCode =  0 
	is_halls_index[tmp1] = temp_num_color
	if not isnull(temp_num_color) then
		num_color=integer(temp_num_color)
	else
		num_color= 2 
	end if
	FETCH holiday_ind INTO :tmp1,:temp_num_color;
LOOP
Close holiday_ind;
Дебагер останавливается на строке
Код: plaintext
FETCH holiday_ind INTO :tmp1,:temp_num_color;
и все умирает. Если работает только один комп, то проблем нет.
В чем может быть проблема?
...
Рейтинг: 0 / 0
07.11.2005, 12:58
    #33363856
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Riska wrote:

> В чем может быть проблема?

Например, в блокировках. Кстати, а какой сервер-то?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
07.11.2005, 13:08
    #33363885
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Riskaи все умирает. Если работает только один комп, то проблем нет.
В чем может быть проблема?
Как все умирает? сваливает приложение, или просто зависает?
...
Рейтинг: 0 / 0
07.11.2005, 13:12
    #33363909
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Dim2000
Riska wrote:

> В чем может быть проблема?

Например, в блокировках. Кстати, а какой сервер-то?
Posted via ActualForum NNTP Server 1.3
Adaptive Server Anywhere 6.0
Никаких изменений в блокировках не делали.
...
Рейтинг: 0 / 0
07.11.2005, 13:12
    #33363910
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Estets Riskaи все умирает. Если работает только один комп, то проблем нет.
В чем может быть проблема?
Как все умирает? сваливает приложение, или просто зависает?
просто зависает
...
Рейтинг: 0 / 0
07.11.2005, 13:24
    #33363952
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Вряд ли в этом дело, но один раз было
Попробуйте убрать order by просто ддля выполнения сортировки может выделяться много ресурсов сервера БД
Я не спец по sybase, но подозреваю, что от oracle он не сильно отличается
...
Рейтинг: 0 / 0
07.11.2005, 13:28
    #33363975
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Не помогает. Курсор возвращает всего 4 строки.
...
Рейтинг: 0 / 0
07.11.2005, 13:53
    #33364048
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
А если для проверки добавить with (nolock)?
...
Рейтинг: 0 / 0
07.11.2005, 13:54
    #33364050
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
spas2001Я не спец по sybase, но подозреваю, что от oracle он не сильно отличается
Улыбнуло
Очень сильно отличается. В особенности в том что касается блокировок.
...
Рейтинг: 0 / 0
07.11.2005, 13:55
    #33364054
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
или попробовать SQLCA.Lock='RC'
...
Рейтинг: 0 / 0
07.11.2005, 14:10
    #33364091
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
ЗоринАндрейили попробовать SQLCA.Lock='RC'
Не помогает. Если курсор заменить на DataStore, то работает нормально. Но менять все курсоры, естественно, не реально.
...
Рейтинг: 0 / 0
07.11.2005, 14:32
    #33364153
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Каковы значения CursorLib,CursorLock и CursorScroll в DBParm?
...
Рейтинг: 0 / 0
07.11.2005, 15:35
    #33364358
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
ЗоринАндрейКаковы значения CursorLib,CursorLock и CursorScroll в DBParm?
Default
...
Рейтинг: 0 / 0
07.11.2005, 15:37
    #33364367
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Код: plaintext
1.
2.
3.
// Profile Aruit
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=Aruit;UID=;PWD='"
...
Рейтинг: 0 / 0
07.11.2005, 15:41
    #33364382
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Riska wrote:

> Adaptive Server Anywhere 6.0
> Никаких изменений в блокировках не делали.

Их могли сделать за вас ;). К сожалению, я не помню, как смотреть
блокировки в ASA6, но я бы всё-таки проверил эту гипотезу - хотя бы для
того, чтобы её исключить. Второй вариант - запрос очень долго
выполняется. С другими не сталкивался.

Можно ещё попробовать поставить патчи на PB, если этого ещё не сделали.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
07.11.2005, 15:57
    #33364456
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Кстати вопрос автору, а в чем целесообразность перевода приложения на PB8? Если не хочется заморачиваться с Юникодом то почему не PB9?, а так множество приложений на 6.5.1 крутится и ничего.

А по поводу вопроса, еще раз внимательно посмотреть все что касается блокировок и транзакций замените курсор на select @@trancount from dummy и сравните что показывает на PB7 и PB8, ну и как обычно прежде всего поставить последний Bulid PB8
...
Рейтинг: 0 / 0
07.11.2005, 16:10
    #33364510
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
EstetsКстати вопрос автору, а в чем целесообразность перевода приложения на PB8? Если не хочется заморачиваться с Юникодом то почему не PB9?, а так множество приложений на 6.5.1 крутится и ничего.

А по поводу вопроса, еще раз внимательно посмотреть все что касается блокировок и транзакций замените курсор на select @@trancount from dummy и сравните что показывает на PB7 и PB8, ну и как обычно прежде всего поставить последний Bulid PB8
Была написана давно маленькая прога на 7.0. Есть еще одна большая на 8.0. Их сейчас надо объединить.
Я сейчас убираю все курсоры. Ставлю вместо них DataStore. Их оказалось не так уж много :)
...
Рейтинг: 0 / 0
07.11.2005, 17:05
    #33364773
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Riska ЗоринАндрейили попробовать SQLCA.Lock='RC'
Не помогает. Если курсор заменить на DataStore, то работает нормально. Но менять все курсоры, естественно, не реально.
Очередное подтверждение моего правила - за embedded SQL УБИВАТЬ !!!
...
Рейтинг: 0 / 0
07.11.2005, 18:08
    #33364933
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
ЗоринАндрей spas2001Я не спец по sybase, но подозреваю, что от oracle он не сильно отличается
Улыбнуло
Очень сильно отличается. В особенности в том что касается блокировок.
Андрей я не имел ввиду блокировки, а пожирание ресурсов под сортировку
При неправильной установке сервера - это ох..ная проблема
Но в целом, я согласен с Филиппом - встроенный SQL vs DataWindow - полная лажа
...
Рейтинг: 0 / 0
10.11.2005, 00:18
    #33370088
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Можно подумать, что датасторе получает данные с сервера не через курсор...)
А в АСА смотреть блокировки надо через dbconsol.exe.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.11.2005, 00:45
    #33370093
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
iLLer
Можно подумать, что датасторе получает данные с сервера не через курсор...)
А в АСА смотреть блокировки надо через dbconsol.exe.
МОЖНО
НЕ через курсор.
...
Рейтинг: 0 / 0
10.11.2005, 09:36
    #33370268
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
iLLer
Можно подумать, что датасторе получает данные с сервера не через курсор...)
А в АСА смотреть блокировки надо через dbconsol.exe.


Posted via ActualForum NNTP Server 1.3

Одно дело явный курсор в PB и совсем другое внутренние курсоры СУБД используемые при select
...
Рейтинг: 0 / 0
10.11.2005, 10:21
    #33370362
Konstantin Goldobin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
>Очередное подтверждение моего правила - за embedded SQL УБИВАТЬ!!!

А почему, кстати? Никогда не встречал аргументов за и против.

--
With regards,
Konstantin Goldobin
http://www.vsi.ru/~kgold



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.11.2005, 10:46
    #33370428
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cursor from PB7.0 to PB8.0
Konstantin Goldobin
>Очередное подтверждение моего правила - за embedded SQL УБИВАТЬ!!!
А почему, кстати? Никогда не встречал аргументов за и против.
Было. Обсуждалось. Воспользуйтесь поиском.
---
С уважением, IKAR

ikar@ikarhomecenter.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Cursor from PB7.0 to PB8.0 / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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