Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) OLEDBData валит 1С при чтении memo-полей из VFP (число прочтений - 6981 )
mclarry
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 29. Августа 2006
OLEDBData валит 1С при чтении memo-полей из VFP
13. Марта 2007 :: 07:56
Печать  
Пытаюсь прочитать файл dbf (создан FVP), в котором есть memo-поля.

Под ADO все работает:
ADO = СоздатьОбъект("ADODB.Connection");   
ADO.Соединение("Provider=vfpoledb.1;Data Source=C:\download");
СтрокаЗапроса = "select * from Of_1030";
rs = ADO.Execute(СтрокаЗапроса);

То же самое под OLEDBData валит 1С:
ADO= СоздатьОбъект("OLEDBData");
ADO.Соединение("Provider=vfpoledb.1;Data Source=C:\download");
Запрос= ADO.СоздатьКоманду();
СтрокаЗапроса = "select * from Of_1030";
ТЗ= Запрос.ВыполнитьИнструкцию(СтрокаЗапроса);

Причем валит по-разному:
- иногда на команде ВыполнитьИнструкцию(), иногда после нее, при обращении к ТЗ
- при выполнении кода под ВыполняемыйМодуль 1С не вылетает, зато получаю "Destroying ExecuteModule class"

Если выбирать не все поля, а только не-memo, типа "select os,innom" - работает нормально.
  

Of_1030.zip ( 2 KB | Загрузки )
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #1 - 13. Марта 2007 :: 08:32
Печать  
mclarry писал(а) 13. Марта 2007 :: 07:56:
Причем валит по-разному:
- иногда на команде ВыполнитьИнструкцию(), иногда после нее, при обращении к ТЗ
- при выполнении кода под ВыполняемыйМодуль 1С не вылетает, зато получаю "Destroying ExecuteModule class"

С завтрашнего дня и из-под ВМ будет валиться Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #2 - 13. Марта 2007 :: 08:34
Печать  
Попробуй закачать последний ВФП ОЛЕДБ провайдер - они обновили его на СП1
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
mclarry
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 29. Августа 2006
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #3 - 13. Марта 2007 :: 08:40
Печать  
artbear писал(а) 13. Марта 2007 :: 08:34:
Попробуй закачать последний ВФП ОЛЕДБ провайдер - они обновили его на СП1

Вчера скачал.
Кстати, ADO ругается на поля с типом N.19.4, а OLEDBData читает их нормально. Может, еще и это как-то влияет на ошибку.
  
Наверх
 
IP записан
 
mclarry
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 29. Августа 2006
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #4 - 13. Марта 2007 :: 08:47
Печать  
Нашел кое-что. Если в запросе указывать не select *, а select f1,f2,.., и последним указать memo-поле, то 1С не вылетает, но в memo возвращается мусор.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #5 - 13. Марта 2007 :: 17:05
Печать  
mclarry писал(а) 13. Марта 2007 :: 08:47:
но в memo возвращается мусор.

А там точно есть что-либо?

Похоже на это: http://support.microsoft.com/kb/326544
  
Наверх
ICQ  
IP записан
 
mclarry
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 29. Августа 2006
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #6 - 14. Марта 2007 :: 07:27
Печать  
spock писал(а) 13. Марта 2007 :: 17:05:
mclarry писал(а) 13. Марта 2007 :: 08:47:
но в memo возвращается мусор.

А там точно есть что-либо?

Похоже на это: http://support.microsoft.com/kb/326544


В memo точно ничего нет. На kb/326544 похоже, но только местами:
- чтение memo через ADODB.Connection дает пустое поле (т.е. правильно)
- чтение memo через OLEDBData валит 1С, если используется select * или select memo, field1, field2...
- чтение memo через OLEDBData дает мусор, если используется select field1, field2..., memo
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #7 - 14. Марта 2007 :: 08:05
Печать  
Почему валит 1с - повод для разбора. Пока не понял причину.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #8 - 15. Марта 2007 :: 05:29
Печать  
Нашел причину падения и возврата мусора. Вечером залью в репозитарий.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #9 - 15. Марта 2007 :: 05:53
Печать  
Кирилл, а тест под это дело написать можно?
Правда, я лично не знаю, как создать средствами 1С и 1С++ дбф-файл с мемо-полями Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #10 - 15. Марта 2007 :: 05:57
Печать  
Про мемо-поля - сейчас хз Улыбка
Проверял на скуле, сессно тест есть.
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #11 - 15. Марта 2007 :: 06:00
Печать  
Стоп, а почему хз?!
В kb по ссылке выше написано как сделать.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #12 - 30. Марта 2007 :: 12:38
Печать  
Если кто-то не заметил, Кирилл ошибку исправил Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: OLEDBData валит 1С при чтении memo-полей из VF
Ответ #13 - 30. Марта 2007 :: 17:32
Печать  
Хы, как бы новых ошибок не было добавлено Улыбка
ps: но тесты все проходят.
« Последняя редакция: 03. Апреля 2007 :: 04:43 - spock »  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать