#0
by Перелетный косяк
Здрасте. Есть задача (свертка 7.7. dbf базы 6 ГБ - стандартными средствами упираюсь в затык при 1cv7.exe = 2 Гб), для решения которой похоже придется разбираться с темой прямых заросов. Подскажите, хотя б приблизительно, с чего начать. Наверное, это есть на 1cпп.ру но там куча вариантов документации и надо перелопатить большой объем инфы. А хотелось бы небольшую статью по Прямым запросам + пример...
#0
by Перелетный косяк
Здрасте. Есть задача (свертка 7.7. dbf базы 6 ГБ - стандартными средствами упираюсь в затык при 1cv7.exe = 2 Гб), для решения которой похоже придется разбираться с темой прямых заросов. Подскажите, хотя б приблизительно, с чего начать. Наверное, это есть на 1cпп.ру но там куча вариантов документации и надо перелопатить большой объем инфы. А хотелось бы небольшую статью по Прямым запросам + пример...
#6
by Ork
"1cv7.exe = 2 Гб" Где такую достал? У меня ~ 300 кБ. Если речь за ограничение формата dbf в 2 гБ. Так оно действует независимо от того чем файлик обрабатывается.
#12
by Перелетный косяк
с 7-кой знаком хорошо, но прямые запросы не ваял вопрос - сложно ли окучить данную тему? времени долго уйдет?
#13
by andrewks
дык дбф-ку можно и без прямых запросов порезать нормально. свою обработочку накидать, и вуаля
#16
by Перелетный косяк
не дбф-ка. на сколько я понял ТЗ-шка во время выполнения запроса в памяти разрастается > 2гб. здесь не причем ни размер дбф-ки, ни FAT-система, ни битность Виндов. просто регистр с большой кучей записей по куче измерений сворачивается...
#17
by Ёпрст
результатом выполнения штатного запроса в 1с-ине есть создание временной таблички дбф в темповом каталоге .. и память тут не причем
#18
by Перелетный косяк
как-так не при чем? размер 32-битный процесс может получить доступ к памяти более 2^32?
#19
by Ёпрст
твой примитивный запрос никогда за эти пределы не вылезет. Если ты только не будешь запрос в ТЗ выгружать.
#20
by Перелетный косяк
там несколько сот тысяч строк в результате запроса... валится где-то на 300 000 строке
#21
by Ёпрст
в какой момент ? В момент выполнения запроса ? Или в момент выгрузки запроса в ТЗ ? Если первое - то упёрся на ограничение в 2 гига для дбф-ки..
#22
by Ёпрст
+21 хотя, я сомневаюсь, чтоб у тебя была такая выгрузка.. 300 000 для дбф это очень мало.
#23
by Перелетный косяк
чето недогоняю.. 0. Устанавливаю Microsoft® Visual FoxPro® OLE DB Provider (vfpoledb.dll) v.8.0.0.3117 ////////////////////////////// 1. в глобальнике загружаю ВК 1cpp.dll + ВК 1sqlite.dll ////////////////////////////// 2. Захожу НЕМОНОПОЛЬНО под юзером с админскими правами ////////////////////////////// 3. выполняю текст простейшего запроса из примеров по ссылке : {E:TEMPПРЯМЫЕ ЗАПРОСЫ-1.ERT}: База данных не установлена Не знаю что думать. Ведь если бы строка соединения была неправильной или драйвер не тот, то Рез = База.Соединение(Соединение) возвращало бы 0.. Получается, к базе цепляемся, неправильно написали текст запроса, хотя я его прямо скопипастил… Подскажите, в чем дело, ибо туплю… Может, стоит отказаться от "OLEDBData" в пользу "ODBCRecordSet"? хотя в руководстве красным по белому сказано «Для DBF версии рекомендуется использовать объект “ OLEDBData”»
#24
by Перелетный косяк
иногда стоит написать чушь, потом ее прочитать, чтобы понять что это чушь...
#27
by НП
Я свертку совсем не так делаю. Создаю копию базы со справочниками, но без документов. Переношу остатки по OLE. А также (непроведенными) документы из прошлого периода, необходимые для разрешения ссылок. Все.
#28
by Aleksey
Юзай 1SQLite, по крайне мере не придется каждый раз устанавливать Microsoft® Visual FoxPro® OLE DB Provider и проблем с монопольным доступом у нее нет
#29
by НП
Не надо 1sqlite, прямых запросов, CPP и прочих интересных вещей. Нужно решать основную задачу - свертку базы. Для очень больших баз можно делать только, как в . Никаких чудодейственных средств, которые существенно уменьшат время, не меняя метода, не бывает.
#30
by Злопчинский
скулайт не повзволяет апдейтить базу.. поянтно, что это редко надо, но тем - не менее...
#31
by GreyK
Позовите программиста. Изучать прямые, кривые и прочие запросы надо дома под пивко, когда делать нечего.
#38
by Перелетный косяк
Начал разбираться - возникли вопросы. Зубры, подскажите: возвращает пустую выборку если в тексте запроса параметр задать без модификатора ($Док.Контрагент = :ВыбКонтрагент) - без "~", тогда возвращается выборка документов, в которых ПУСТОЕ ЗНАЧЕНИЕ поля "контрагент". чето я туплю.. подскажите плиз
#46
by Перелетный косяк
Народ, объясните плиз нюансы использования УложитьСписокОбъектов13 и УложитьСписокОбъектов через ODBC и OLEBD (в дбф) пробовал по разному - ничего не получается 1. ----------------------------- на выходе имеем выборку с теми накладными, где ПУСТОЙ контрагент 1.2 то же что и 1.1, но --------- виснет намертво на Запрос.УложитьСписокОбъектов 1.3 УложитьСписокОбъектов13 вроде как для olebd нету PS в группе контрагентов не оч. много. проверял - оставлял всего парочку - ничего не менялось
#48
by Mikeware
Если ивестно, где и на каких объемах процесс "падает" - не быстрее ли будет сделать этот процесс несколько раз с ограничениями?
#51
by Перелетный косяк
да там по сути уложить в список 3 значения - дело не в большом объеме можно покидать идентификаторы в строку и сранивать с ней - но хотелось бы разобраться с методом УложитьСписокОбъектов
#58
by Ёпрст
всё зависит от текста запроса. А так, odbc с дбф не очень "дружит", поэтому его никто не использует. А фокс, при "правильном" запросе с попаданием в индекс обгоняет 1sqlite на group by.. Да и, где-то без фокса запрос не слепишь - update/insert/запрос к внешней базе..
#59
by Перелетный косяк
полный кусок кода ГруппаСобственные= СоздатьОбъект("Справочник.Контрагенты"); сообщает ----------- Internal error: State 42000, native 219, message [Microsoft][ODBC Visual FoxPro Driver]Command contains unrecognized phrase/keyword. SELECT FROM dh294 as Док WHERE Док.sp295 IN (SELECT val FROM '') ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса); {E:TEMPПРЯМЫЕ ЗАПРОСЫ-1.ERT}: State 42S02, native 173, message [Microsoft][ODBC Visual FoxPro Driver]File '' does not exist.
#60
by Ёпрст
+58 а так, 1sqlite проще в синтаксисе, не нужно заботится об попадании в индекс, есть "фенечки" типа УложитьТЗ, "штатно" работает в монопольном режиме (для фокса нужно либо dbeng32 патчить, либо провайдер свой ставить) ну и.. еще много чего.
#61
by Перелетный косяк
спасибо на добром слове, но.. еще раз проверил, всякое бывает. группа найдена и спосиционирована
#69
by Перелетный косяк
+ там другая ситуация - укладывать-то он укладывает во врем.таблицу, не либо уложил не то, либо условие обрабатывается неправильно
#71
by Перелетный косяк
в монопольном он просто ничего сделать не дает)) полный текст для "OLEDBData": ------------- выдает выборку с ПУСТЫМИ контрагентами ---------- ---------- система вешается намертво
#74
by Ёпрст
+72 да, чтоб не позориться при написании вот этого: Достаточно кинуть реквизит диалога на форму и выбрать в него нужное значение справочника.
#81
by Перелетный косяк
{E:TEMP_ЗАПРОС К ВНЕШНЕЙ БАЗЕ3.ERT}: FAILED! ICommandText::Execute: Function argument value, type, or count is invalid.
#82
by Перелетный косяк
с твоим запросом такая же хрень система вешается намертво(( чую, что-то в дровах..
#84
by Перелетный косяк
взлетело. дело было в vfpoledb.dll - 8.0.0.3117 на vfpoledb.dll - 9.0.0.5815 работает отлично Ёпрст3, спасибо за помощь
#86
by Перелетный косяк
В рамках изучения 1sqlite (уже по другому вопросу) возник вопрос – хочу получить обороты по оборотному регистру «Продажи». С остаточными регистрами понятно – | from [РегистрИтоги.ТовОстатки] as ОстаткиТМЦ А что в случае оборотного регистра? Пробую Ругается «no such column: date». А как тогда это поле называется? Пробовал «date», «Period», «idx_date_time_iddoc_lineno_actno». Ткните, где можно почитать про структуру таблиц регистра оборотов.
#88
by Перелетный косяк
сделал .. а там нет поля с типом дата. только поля ресурсов, измерений и т.д. + поля ссылки на документ регистратор. получается что надо делать лефтджойн с журналом доков?
#89
by Ёпрст
воткни галку - быстрая обработка движений у регистра, или выстави отбор движений/итогов у одного из измерений регистра - поля и появятся. Это в разы быстрее, чем left join к журналу документов
#90
by Перелетный косяк
а к каким последствиям это может привести на боевой базе? (увеличение объема базы, долгое проведение и т.д.) просто чтоб в лужу не сесть...
#93
by Ёпрст
какая наивность. На производительности это никак не отразится, да и лишнее поле в табличке ну никак не повлечет значительный прирост базы
#94
by Обработка
сделай проще. 1. создай чистую базу перенеси спр-ки 2. перенеси остатки можно по частям. 3. перенеси нужные доки и историю если нужно. Будет быстро и база чище. Удачи. ну а как это сделать найти или написать обработки.
#95
by Обработка
Не наивность это из опыта. В начале 1с-програмерства я часто включал этот флажочек. НО когда одна база стала жутко тормозить при оптимизации снял эти галочки. Резульат был ощутим, хотя и ни сильно... Его можно вклчать тольок при необходимости если это надо . Все надо ценить для каких целей регистр и как он часто юзается тп.
#96
by Перелетный косяк
база УРБД, объем большой. не приведет ли к тому, что снова выгрузятся все накладные причастные кдвижениям регистра? в принципе сабж уже решен. сейчас просто самообразовываюсь по 1с++ и 1sqlite
#97
by Ёпрст
да уж.. я за размеры базы устал уже говорить. потребуется просто реструктуризация базы. накладные никуда не полетят.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- ОбходРезультатаЗапроса.ПоГруппировкам
- Ошибка при выполнении запроса GET к ресурсу /e1cib/userSettings
- Настроить размер шрифта для конкретного пользователя в 1С 8.2
- Отпуск за январь, начисленный и оплаченный в декабре (НДФЛ)
- УПП ввод начальных остатков по ОС с временной разницей
- Шрифт Eangnivc отказываеться работать в терминале RemoteApp
- Как убрать? xmlns="http://local/addr"
- Как осуществить вывод данных реквизита справочника в макет?
- Китай заблокировал Mail.Ru?
- У местных ООО приобретаем импортный товар (УТ-10.3, 1С-82), как указать ГТД???
- Возможно ли пользователю запретить менять настройку отчета?
- ЗУП базовый (8.2) Активация
- Авансовый отчет и возврат денежных средств подотчетником
- Оприходование товара с нулевой стоимостью (Бонусный товар)
- подключить dll на сервере 1с8.1
- В ЗиУП проводка Дт70 Кт68.01 Удержание НДФЛ
- 1С 8.2 УПП 1.3 Загрузка из Клиент-Банка - документы помечаются на удаление!!!
- Не найдена лицензия COM-соединением
- СКД Стоимостная оценка склада по нескольким типам цен
- 8.2 обращение к реквизиту формы отчета