Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как получить данные из внешнего DBF? (число прочтений - 4398 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Как получить данные из внешнего DBF?
13. Июля 2006 :: 05:50
Печать  
Нам в DBF-файлах передают данные по накладным от другого поставщика, стандартные методы XBAse работают ну очень медленно.
У меня версия 1С++ 1.8.1.6, там есть объект ODBCDatabase. Как с его помощью получить данные из внешнего DBF-файла?
  
Наверх
ICQ  
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как получить данные из внешнего DBF?
Ответ #1 - 13. Июля 2006 :: 06:00
Печать  
Все тоже самое. Используй ODBC-соединение. Вместо каталога ИБ - каталог, в котором хранятся DBF-ки.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Как получить данные из внешнего DBF?
Ответ #2 - 13. Июля 2006 :: 06:09
Печать  
А какая должна быть строка соединения? Я пробую разные, но что-то не получается подключиться Печаль
  
Наверх
ICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Как получить данные из внешнего DBF?
Ответ #3 - 13. Июля 2006 :: 06:16
Печать  
А если сама база в SQL - можно обращаться к внешнему dbf файлу?
  
Наверх
ICQ  
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как получить данные из внешнего DBF?
Ответ #4 - 13. Июля 2006 :: 06:27
Печать  
глБазаДанных = СоздатьОбъект("ODBCDatabase");
           глЗаписи = СоздатьОбъект("ODBCRecordSet");
           Рез = глБазаДанных.Соединение("DRIVER=Microsoft Visual FoxPro Driver;Deleted=Yes;Null=Yes;
           |Collate=RUSSIAN;BackgroundFetch=Yes;Exclusive=No;SourceType=DBF;SourceDB=" + глКаталогБД);
           Если Рез = 0 Тогда
                 глБазаДанных.Закрыть();
                 Сообщить("Ошибка ODBC подключения к базе!"+ глБазаДанных.ПолучитьОписаниеОшибки(),"!!!");
                 Возврат;
           КонецЕсли;
           глЗаписи.УстБД(глБазаДанных);

глКаталогБД - каталог с ДБФ-ками
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Как получить данные из внешнего DBF?
Ответ #5 - 13. Июля 2006 :: 06:39
Печать  
Отлично! Спасибо, все работает!
А как можно указать кодовую страницу? Дело в том что в одних DBF-ках используется кодовая страница 866 (которые выгружаются из ДОС программы), а в других - другая
  
Наверх
ICQ  
IP записан
 
YuriPar
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 23
Зарегистрирован: 09. Июля 2006
Re: Как получить данные из внешнего DBF?
Ответ #6 - 17. Июля 2006 :: 10:42
Печать  
Как раз интересно-как же с кодовой страницей?
  
Наверх
 
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как получить данные из внешнего DBF?
Ответ #7 - 17. Июля 2006 :: 12:17
Печать  
Oem2Dos Dos2Oem
  
Наверх
 
IP записан
 
YuriPar
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 23
Зарегистрирован: 09. Июля 2006
Re: Как получить данные из внешнего DBF?
Ответ #8 - 17. Июля 2006 :: 12:56
Печать  
Я не спец.Кусок кода если можно
  
Наверх
 
IP записан
 
YuriPar
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 23
Зарегистрирован: 09. Июля 2006
Re: Как получить данные из внешнего DBF?
Ответ #9 - 19. Июля 2006 :: 11:52
Печать  
Что никто не знает?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать