Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Монопольная база (число прочтений - 2172 )
Sasha_UU
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 31. Августа 2009
Монопольная база
11. Мая 2011 :: 07:00
Печать  
соединяюсь с базой 1С
глОлеДБ = СоздатьОбъект("OLEDBData");
                 Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ() + ";Mode=ReadWrite;Collating Sequence=MACHINE";
                 
                 Рез = глОлеДБ.Соединение(Соединение);
                 гЗапрос = глОлеДБ.СоздатьКоманду();

База дбф, проблема в том что если база открывается в монопольном режиме то выходит ошибка что файл дбф занет. Как можно сделать проще и универсальнее?
  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Монопольная база
Ответ #1 - 11. Мая 2011 :: 07:23
Печать  
Sasha_UU писал(а) 11. Мая 2011 :: 07:00:
База дбф, проблема в том что если база открывается в монопольном режиме то выходит ошибка что файл дбф занет. Как можно сделать проще и универсальнее?

Не работает монопольно в DBF базе. Но ведь доки не кто не отменял. Читать надо все же.....
Уже не один раз тебе ответили, нет тут телепатов.... Пользуйся классами. Там все уже есть.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Монопольная база
Ответ #2 - 18. Мая 2011 :: 23:23
Печать  
Ну, начнём с того, что запрос к дбф базе монопольно работает.
Для фокса нужно ставить либо заплатку от hogik, либо провайдер от Uzhast

Или использовать 1sqlite.
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Монопольная база
Ответ #3 - 18. Мая 2011 :: 23:27
Печать  
Eprst писал(а) 18. Мая 2011 :: 23:23:
Ну, начнём с того, что запрос к дбф базе монопольно работает.
Для фокса нужно ставить либо заплатку от hogik, либо провайдер от Uzhast
Категорически не согласен, что заплатку можно считать решением... и тем более предлагать ее тому, у кого явно нет опыта работы с прямыми запросами...

Eprst писал(а) 18. Мая 2011 :: 23:23:
Или использовать 1sqlite.
А вот за это голосую всеми руками, ногами и остальными конечностями!
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Монопольная база
Ответ #4 - 18. Мая 2011 :: 23:53
Печать  
Это еще почему ?
Решение от hogik работает годами..
Проблем не было, какие были - автор устранил.

ЗЫ: и попробуй поработать руками и ногами и остальными конечностями при запросе к сторонней базе или при больших запросах, использующих group by - тут без фокса не обойтись, и если нужно в монопольном режиме, без решения от hogik в том числе.
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Монопольная база
Ответ #5 - 19. Мая 2011 :: 00:03
Печать  
Большие запросы к сторонней базе - это ошибка в проектировании... думаю, пояснений не требует...
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Монопольная база
Ответ #6 - 19. Мая 2011 :: 00:18
Печать  
Вообще - то там ИЛИ стоит.
А большие запросы к родной базе , скажем за месяц/год на больших данных с group by фокс обгоняет 1sqlite в разы.

+ запрос к сторонней базе через 1sqlite  не слепишь.
+ insert/update/delete не слепишь
+ фоксовые функции.. и т.д.
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Монопольная база
Ответ #7 - 19. Мая 2011 :: 00:40
Печать  
Eprst писал(а) 19. Мая 2011 :: 00:18:
А большие запросы к родной базе , скажем за месяц/год на больших данных с group by фокс обгоняет 1sqlite в разы.
Не замечал такого. Думаю, дело или в объеме данных или в выборе индексов. С индексами лайту можно помочь, явно его указав, чего нельзя сделать фоксе (или можно?). А объем ... тут врядли что можно сделать...

Eprst писал(а) 19. Мая 2011 :: 00:18:
+ запрос к сторонней базе через 1sqlite  не слепишь.
Об это уже обжигался. Очень жаль.

У себя делаю проще - все данные, которые необходимы другим базам/прогам, выгружаются в момент их фиксации/изменения/удаления во внешнее быстрое хранилище (полноценная многопользовательская серверная СУБД). Ну не прямо так чтобы все, а те, которые могут вызвать обсуждаемую здесь проблему.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Монопольная база
Ответ #8 - 19. Мая 2011 :: 00:52
Печать  
Ну вот и ответ..
Ты просто с фоксом мало работал.
Первое, в фоксе активно используются индексы при правильном написании запроса
Второе, при любых данных, на group by фокс обгонит 1sqlite,
обсуждение ужо было в ветке по 1sqlite
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать