Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема 1SQLite для работы с DBF файлами (число прочтений - 5011 )
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
1SQLite для работы с DBF файлами
03. Июля 2008 :: 13:00
Печать  
Можно ли использовать 1SQLite для работы с DBF файлами в многопользовательском режиме, например, для обмена данными между базами? Т.к. внутренний 1С-овский движок для работы с DBF работает только в монопольном режиме.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: 1SQLite для работы с DBF файлами
Ответ #1 - 03. Июля 2008 :: 14:00
Печать  
т.е ты хочешь из одной базы писать в файл, а из другой загружать данные одновременно?
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: 1SQLite для работы с DBF файлами
Ответ #2 - 03. Июля 2008 :: 14:30
Печать  
Можно через ОЛЕ (FoxPro) только обе базы должны быть в немонопольном режиме
http://www.1cpp.ru/forum/YaBB.pl?num=1182497837/19#19
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1SQLite для работы с DBF файлами
Ответ #3 - 04. Июля 2008 :: 03:27
Печать  
По словам Саши Орефкова, пока у него не получилось заставить 1sqlite работать с другой базой, не в каталоге ИБ Печаль
  

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


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: 1SQLite для работы с DBF файлами
Ответ #4 - 04. Июля 2008 :: 07:13
Печать  
Nick писал(а) 03. Июля 2008 :: 14:00:
т.е ты хочешь из одной базы писать в файл, а из другой загружать данные одновременно?


Ну, или из разных баз писать, а в одной считывать. И не совсем одновременно. Но, во всяком случае, сейчас приходится использовать цикл ожидания освобождения файла, открытого в одной из баз.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: 1SQLite для работы с DBF файлами
Ответ #5 - 04. Июля 2008 :: 07:18
Печать  
alyuev писал(а) 04. Июля 2008 :: 07:13:
Nick писал(а) 03. Июля 2008 :: 14:00:
т.е ты хочешь из одной базы писать в файл, а из другой загружать данные одновременно?


Ну, или из разных баз писать, а в одной считывать. И не совсем одновременно. Но, во всяком случае, сейчас приходится использовать цикл ожидания освобождения файла, открытого в одной из баз.


А что используется для обмена?
Как открываются таблицы?
Com, SQLLIte, Fox... ?
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: 1SQLite для работы с DBF файлами
Ответ #6 - 04. Июля 2008 :: 07:19
Печать  
Сейчас используется просто файл DBF.

Код
Выбрать все
		ДБФ = СоздатьОбъект("XBase");
.........
		Пока ДБФ.Открыта()=0 Цикл
			ДБФ.ОткрытьФайл(ПутьДБ);
			Состояние("Ожидание закрытия файла "+ИмяФайла+"...");
		КонецЦикла;
 

  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: 1SQLite для работы с DBF файлами
Ответ #7 - 04. Июля 2008 :: 07:35
Печать  
alyuev писал(а) 04. Июля 2008 :: 07:19:
Сейчас используется просто файл DBF.

Код
Выбрать все
		ДБФ = СоздатьОбъект("XBase");
.........
		Пока ДБФ.Открыта()=0 Цикл
			ДБФ.ОткрытьФайл(ПутьДБ);
			Состояние("Ожидание закрытия файла "+ИмяФайла+"...");
		КонецЦикла;
 



Ну так используй vfpoledb. Можно писать запрос одновременно к двум базам.
Очень удобно соединяться по синхронизированным полям.
Запись - я использую средствами 1С.

А когда в SQlLite будет поддержка 2 баз - можешь SQlLite использовать - запросы не
так сильно различаются.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1SQLite для работы с DBF файлами
Ответ #8 - 04. Июля 2008 :: 08:47
Печать  
artbear писал(а) 04. Июля 2008 :: 03:27:
По словам Саши Орефкова, пока у него не получилось заставить 1sqlite работать с другой базой, не в каталоге ИБ Печаль

Погодите.

Не МОЖЕТ работать?
Или не может надежно работать в силу ограничений движка sqlite?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1SQLite для работы с DBF файлами
Ответ #9 - 04. Июля 2008 :: 09:55
Печать  
Если нужно просто общее внешнее хранилище данных, с которым должны одновременно работать несколько пользователей, то в-принципе, база данных SQLite может это обеспечить, но блокировки там примитивные:
Если кто-то читает (делает select), никто не может писать (insert/update/delete), и наоборот. А вообще SQLite'овцы сами не рекомендуют использовать его для организации многопользовательского доступа.

Если же надо через движок SQLite достучаться до какого-либо файла дбф, не входящего в родную базу, то пока этого нельзя. Хотя со временем я порою в этом направлении - все ведь знают, что для обработки запросов 1С создает временные дбф-файлы и работает с ними, значит, как то умеет.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать