Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Isert into вылетает с ошибкой / 25 сообщений из 30, страница 1 из 2
13.10.2011, 21:04
    #37481560
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
всем привет!
заранее прошу прощения скорее всего за глупый вопрос... не знакома с этим языком...
у меня есть кусок кода:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
CALL SUPER::ue_import_data
dw_import.reset()
dw_import.importfile(text!,"")
vtrans_time = f_get_server_datetime()
vrow =  1 
DO WHILE vrow <= dw_import.rowcount() //5
	vbranchcode = dw_import.getitemstring(vrow,"branchcode")
	vphcode = dw_import.getitemstring(vrow,"phcode")
	vbranchcustcode = THIS.dw_import.getitemnumber(vrow,"branchcustcode")
	dw_import.setitem(vrow,"usercode",usercode)
	dw_import.setitem(vrow,"trans_time",vtrans_time)
	dw_import.setitem(vrow,"dsource", 1 )
	dw_import.setitem(vrow,"phcodestatus", 1 )
	dw_import.setitem(vrow,"picgiftlimit", 0 )
	dw_import.setitem(vrow,"picdebit", 0 )
	dw_import.setitem(vrow,"piccredit", 0 )
	dw_import.setitem(vrow,"picpoints", 0 )
	dw_import.setitem(vrow,"picdiscounts", 0 )
	dw_import.setitem(vrow,"picpurchase", 0 )
	dw_import.setitem(vrow,"picip", 0 )
	dw_import.setitem(vrow,"picdied", 0 )
	dw_import.setitem(vrow,"custpiccredit", 0 )
	dw_import.setitem(vrow,"custdebit", 0 )
	dw_import.setitem(vrow,"custcredit", 0 )
	dw_import.setitem(vrow,"custdateactive",datetime(date(vtrans_time)))
	dw_import.setitem(vrow,"orderbranchcode",vbranchcode)
	insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( :ver_branch , :vphcode ,  0 . 0  ,  0 . 0  )  USING sqlca;
	IF sqlca.sqlcode <>  0  THEN //27
		messagebox("Error #222.54","Can NOT Save .. Consult vendor !!")
		ROLLBACK USING sqlca;
		RETURN
	END IF //27
	update lastdocnumbers set lastdocnumbers.branchcustcode =:vbranchcustcode where lastdocnumbers.branchcode =:ver_branch  USING sqlca;
	IF sqlca.sqlcode <>  0  THEN //33
		messagebox("Error #222.58","Can NOT Save .. Consult vendor !!")
		ROLLBACK USING sqlca;
		RETURN
	END IF //33
	vrow ++
LOOP //5
dw_import.accepttext()
IF dw_import.update() =  1  THEN //40
	COMMIT USING sqlca;

программа выдает эту ошибку - messagebox("Error #222.54","Can NOT Save .. Consult vendor !!")
какая может быть причина?
Насколько я понимаю по тексту кода - не срабатывает оператор insert into в таблицу базы localcustomerspoints ? из-за чего это может произойти? Исходников у меня нет, код этот нашла с помощью декомпилятора, специально, чтобы посмотреть что за ошибка... программа старая, к разработчику доступа нет... Что можно еще проверить?
Буду безумно благодарна за помощь!
...
Рейтинг: 0 / 0
13.10.2011, 22:33
    #37481627
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
я подумала, может есть ограничение в таблице на число записей, но таблицу проверила - ограничений никаких не нашла.... помогите! :)
...
Рейтинг: 0 / 0
13.10.2011, 22:34
    #37481629
yaCooler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Посмотрите в отладке содержимое переменной sqlca.sqlerrcode, там текст ошибки с SQL сервера
...
Рейтинг: 0 / 0
13.10.2011, 22:35
    #37481632
yaCooler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
sqlca.sqlerrtext конечно, не sqlerrcode :)
...
Рейтинг: 0 / 0
13.10.2011, 22:47
    #37481642
yaCooler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Не заметил про отсутствие исходников)
Вставка в таблицу записи средствами самой субд отрабатывает?(pgadmin, sqladvantage и т.п.) Может-ли быть так, что :ver_branch , :vphcode содержат значения NULL? На сколько я вижу, эти данные выбираются из какого-то текстового файла. Может файл имеет некорректный формат? Ограничения на таблице отсутствуют, а на полях таблицы?
...
Рейтинг: 0 / 0
13.10.2011, 22:57
    #37481650
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
а как я могу запустить отладку, если у меня есть исполняемая программа и база данных? а исходного кода нет, только в декомпиляторе кусками? можно как-нибудь посмотреть эту переменную с помощью sybase central, например?
...
Рейтинг: 0 / 0
13.10.2011, 23:02
    #37481656
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
yaCoolerНе заметил про отсутствие исходников)
Вставка в таблицу записи средствами самой субд отрабатывает?(pgadmin, sqladvantage и т.п.) Может-ли быть так, что :ver_branch , :vphcode содержат значения NULL? На сколько я вижу, эти данные выбираются из какого-то текстового файла. Может файл имеет некорректный формат? Ограничения на таблице отсутствуют, а на полях таблицы?
поняла направление, попробую посмотреть :) спасибо, если что-то получится/не получится отпишусь :)
...
Рейтинг: 0 / 0
13.10.2011, 23:20
    #37481666
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
yaCooler,

а вот вопрос еще тогда, откуда он берет путь текстового файла, если в функцию передаются пустые кавычки?
Вообще поискала в кодах импорт файлов:
авторw_itemsimports.win->shl_2(statichyperlink)->Events->clicked (none) returns long [pbm_bnclicked]->
0004: PARENT.dw_1.importfile("c:\softech_imports1.txt")
0005: PARENT.dw_2.importfile("c:\softech_imports2.txt")
w_localcustomers_big.win->w_localcustomers_big(w_mainwindow_tab)->Events->ue_import_data (none) returns (none)->
0011: dw_import.importfile(text!,"")
w_localcustomers_big.win->cb_4(commandbutton)->Events->clicked (none) returns long [pbm_bnclicked]->
0005: PARENT.dw_import.importfile(text!,"C:\Import_PICs.txt")
w_stkbal_from_branch.win->pb_2(picturebutton)->Events->clicked (none) returns long [pbm_bnclicked]->
0021: PARENT.dw_2.importfile("c:\cfarma\dumpin\cn20_201.txt")
0023: PARENT.dw_1.importfile("c:\cfarma\dumpin\cn20_200.txt")
w_ft1.win->w_ft1(w_mainwindow_m2)->Events->uo_post_open (none) returns (none)->
0028: vretvalue = dw_6.importfile(text!,"c:\store12.txt")
0058: vretvalue = dw_6.importfile(text!,"c:\store122.txt")
w_stocktaking_fix.win->shl_2(statichyperlink)->Events->clicked (none) returns long [pbm_bnclicked]->
0030: PARENT.dw_6.importfile(g_softech_dir_path + "\config\items.dbf")
0032: PARENT.dw_7.importfile(g_softech_dir_path + "\config\itemsg1.txt")
w_to_web.win->cb_4(commandbutton)->Events->clicked (none) returns long [pbm_bnclicked]->
0018: PARENT.dw_10f.importfile("c:\cfarma\web\cfw0201.txt")
но половины этих файлов нет на месте... в этом и проблема может быть?
...
Рейтинг: 0 / 0
13.10.2011, 23:57
    #37481682
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Eaboudy но половины этих файлов нет на месте... в этом и проблема может быть?
уже посмотрела, что если в качестве пути к файлу указывается пустая строка - должно открыться окно выбора файла :) надо проверить, может не тот файл выбирают....
...
Рейтинг: 0 / 0
14.10.2011, 00:15
    #37481691
VanoR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
messagebox("Error #222.54", sqlca.sqlerrtext )
...
Рейтинг: 0 / 0
14.10.2011, 01:09
    #37481706
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
VanoRmessagebox("Error #222.54", sqlca.sqlerrtext )
нет у меня исходников, менять и запускать код не могу :(
...
Рейтинг: 0 / 0
14.10.2011, 01:15
    #37481709
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
ой что я увидела.... ) insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( :ver_branch , :vphcode , 0.0 , 0.0 )
а в таблице поле totpoints - должно быть не нулевым :)
я права? в этом проблема?
только непонятно, как программа раньше работала...
...
Рейтинг: 0 / 0
14.10.2011, 01:44
    #37481718
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
вот скриншот таблички
...
Рейтинг: 0 / 0
14.10.2011, 01:55
    #37481721
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Eaboudyой что я увидела.... ) insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( :ver_branch , :vphcode , 0.0 , 0.0 )
а в таблице поле totpoints - должно быть не нулевым :)
я права? в этом проблема?
только непонятно, как программа раньше работала...
Вообще то vphcode (как впрочем и ver_branch) берутся из импортируемого файла, так что если там хрень, то всё может быть :-)
...
Рейтинг: 0 / 0
14.10.2011, 01:59
    #37481722
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Филипп,
спасибо!
я про файл тоже так поняла, проверю что там, но мне кажется здесь с totpoints явная ошибка, верно? ведь в строке 'insert into' передается нулевое значение в поле с ограничением на нуль? или я что-то не увидела?
...
Рейтинг: 0 / 0
14.10.2011, 02:02
    #37481723
Ork_pb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Eaboudy, и ещё NULL это не ноль, ноль вполне может быть в Вашем поле.
А вот с Филлипом соглашусь, смотрите файлы..
...
Рейтинг: 0 / 0
14.10.2011, 02:06
    #37481724
Ork_pb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
EaboudyФилипп,
спасибо!
я про файл тоже так поняла, проверю что там, но мне кажется здесь с totpoints явная ошибка, верно? ведь в строке 'insert into' передается нулевое значение в поле с ограничением на нуль? или я что-то не увидела?

Повторюсь NULL не ноль, скорее пусто.. и это не ограничение на ноль, а скорее на отсутсвие значения в поле..
...
Рейтинг: 0 / 0
14.10.2011, 02:23
    #37481728
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Ork_pbПовторюсь NULL не ноль, скорее пусто.. и это не ограничение на ноль, а скорее на отсутсвие значения в поле..
спасибо! а я уже обрадовалась, что нашла ошибку... :(
файла пока у меня нет, как будет - обязательно проверю. там же даже если, например, строка с пробелами дополнительная - тоже из-за этого ошибка может быть?
а какие-нибудь еще варианты есть? вдруг файл в порядке? где копать? ;)
может быть попробовать и правда вставить строку в таблицу с помощью sqladvantage?
только я боюсь базу испортить :)
...
Рейтинг: 0 / 0
14.10.2011, 03:55
    #37481740
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
вставила строки без проблем с sqladvantage - insert into localcustomerspoints ( branchcode , phcode , totpoints , conpoints ) values ( '55555', '1217757721212', 0.0 , 0.0 )... видимо все-таки файл корявый....
...
Рейтинг: 0 / 0
14.10.2011, 11:16
    #37482066
Ikir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Eaboudy,

Если программа работает через ODBC, можно включить trace и в нем поковыряться
...
Рейтинг: 0 / 0
14.10.2011, 12:52
    #37482292
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Ikir,

спасибо! а можно мне, чайнику, поподробнее - где этоn trace можно включить? ;) дело в том, что я обнаружила, скорее всего не тот это кусок кода, который мне нужен :( shudepb (у меня демо, конечно) отрезал код в функции update, а ошибка вылетает при записи такая же и вроде никакого файла там выбирать не надо, а тот код был в функции import...
...
Рейтинг: 0 / 0
14.10.2011, 13:10
    #37482332
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Есть PBKiller, он код не режет - можно все кроме embedded SQL полностью восстановить. С Embedded параметры нормально восстановить не может.
...
Рейтинг: 0 / 0
14.10.2011, 13:18
    #37482360
Ikir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Eaboudy,


На клиентской стороне есть ODBC Data Source Administrator , там есть вкладка про трассировку.

На серверной стороне наверняка есть возможность мониторить конкретную сессию к серверу базы, обратитесь к DBA.
...
Рейтинг: 0 / 0
14.10.2011, 13:35
    #37482394
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
IkirEaboudy,


На клиентской стороне есть ODBC Data Source Administrator , там есть вкладка про трассировку.

На серверной стороне наверняка есть возможность мониторить конкретную сессию к серверу базы, обратитесь к DBA.

спасибо! попробую покапаться :)
...
Рейтинг: 0 / 0
14.10.2011, 13:37
    #37482406
Eaboudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Isert into вылетает с ошибкой
Локшин МаркЕсть PBKiller, он код не режет - можно все кроме embedded SQL полностью восстановить. С Embedded параметры нормально восстановить не может.
не смогла в интернете найти рабочий PBKiller, тот который нашла, как я поняла не работает с powerbuilder 11-й версии. Если у Вас есть, пожалуйста, скиньне на aboudy@yandex. ru ;) конечно буду очень благодарна :)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Isert into вылетает с ошибкой / 25 сообщений из 30, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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