|
Ошибка SQL: неверный синтаксис | ☑ | ||
---|---|---|---|---|
0
mogul
05.07.08
✎
12:08
|
Добрый день!
Занимаюсь переносом данных из 77 в 81 с помощью конвертации данных. И все бы хорошо, но столкнулся с проблемой: после загрузки объекта и xml-файла программа (81) вылетает с сообщением "Ошибка SQL: неверный синтаксис". Ошибка возникает где-то между событиями "ПередЗаписью" (эта процедура еще выполняется) и "ПриЗаписи" (а в эту уже не доходим) - смотрел в режиме отладки. Реквизиты объекта, при этом, переносятся нормально. Тестирование и исправление БД результатов не дало. В чем может быть причина такой беды? |
|||
1
ТелепатБот
05.07.08
✎
12:08
|
||||
2
eddy_n
05.07.08
✎
22:31
|
Я не имею ничего против КД - мощная вещь, хотя не доработана как нужно до конца, и я ей тоже пользуюсь, но мне досталась для переноса такая Торговля 7.7, что логику проше было написать самому с выгрузкой в dbf. Может и тебе коней на переправе поменять?
|
|||
3
vde69
05.07.08
✎
22:45
|
(2) а я вообще КД не люблю... для типовых - да, но там в нее вообще не надо лезть...
а переделки - там там 30% кода вообще никто не знает зачем и КОГДА было сделано... там переносить индивидуально надо, мне проще по ole все делать |
|||
4
eddy_n
06.07.08
✎
01:31
|
(3) В КД лезть надо даже для типовых, когда, например, нужно изменить условия поиска объекта в базе-приёмнике (вместо кода - по наименованию или наоборот или ещё какую-нибудь "мелочёвку" при загрузке менять).
|
|||
5
mogul
06.07.08
✎
13:51
|
Не буду писать про свое отношение в КД...
Тем более, что, по моему мнению, дело вовсе не в ней - ошибка возникает при записи, где-то между "ПередЗаписью" и "ПриЗаписи". Таким образом, допускаю, что подобное может произойти и при обычной записи объекта. Просто при загрузки данных в силу большего их количества, вылезает чаще. Вот возможные причины возникновения этой ошибки меня и интересуют, а вовсе не комментарии про КД. Спасибо. |
|||
6
kitt
06.07.08
✎
13:57
|
ну так найди конкретное место где вылетает ошибка, запость сюда кусок проблемног кода, расскажи чему у тебя там переменные равны, а то "Вот возможные причины возникновения этой ошибки меня и интересуют". Телепатов нет.
|
|||
7
mogul
06.07.08
✎
14:10
|
(6) Я ж пишу - ошибка возникает между процедурами "ПередЗаписью" (она отрабатывается нормально) и "ПриЗаписи" (в эту процедуру вообще не попадает), т.е. где-то во внутренностях платформы. А уж что там за код у создателей 81, я понятия не имею.
|
|||
8
Aleksey_3
06.07.08
✎
15:23
|
Правила переноса брал типовые? Небось еще старые от версии 8.0. Вот и получил.
В 8.1 изменился синтаксис вызова процедур, поэтому ищи правила под 8.1, или пиши сам. |
|||
9
mogul
06.07.08
✎
15:59
|
(8) Правила переноса самописные, рабочие.
|
|||
10
kitt
06.07.08
✎
16:55
|
(7) может тебя это удивит, но между процедурами "ПередЗаписью" и "ПриЗаписи" есть много интересных строчек кода. Ты можешь в отладчике пройтись до той конкретной строчки на которой выскакивает ошибка? Если можешь так выложи кусок кода где это происходит, опиши контекст, переменные, какой конкретно объект у тебя там грузиться. Если не можешь, то так и скажи - не могу.
|
|||
11
mogul
06.07.08
✎
17:02
|
(10) какие, интересно, строчки кода находятся между этими процедурами, если документ не проводится?
В отладчике проходился, а как же. Процедура ПередЗаписью() // обДокументПередЗаписью(ЭтотОбъект) - специально все закомментил ф=1; КонецПроцедуры Процедура ОбработкаПроведения() // нет никакой обработки! КонецПроцедуры Процедура ПриЗаписи() // обДокументПриЗаписи(ЭтотОбъект) - специально все закомментил КонецПроцецуры Ставлю точку останова на строчку "ф=1", далее жму F10, попадаю на строчку "КонецПроцедуры", еще раз жму F10 - и привет, ошибка. |
|||
12
BabySG
06.07.08
✎
17:25
|
RLS посмотри
|
|||
13
mogul
07.07.08
✎
11:03
|
(12) Спасибо за наводку, об этом я не подумал. Одно "но" - нет у меня RLS.
|
|||
14
mogul
08.07.08
✎
12:57
|
up
|
Форум | Правила | Описание | Реклама | Секции | Поиск | Книга знаний | Вики-миста |