Обмен 1с с oracle
Собрались переходить вот. В связи с этим вопрос, а вообще реально средствами 1С выгрузить и загрузить в/из dt базу весом в 1 террабайт?
я сомневаюсь что DT в теробайт реален.
может лучше скулевским экспортом через ODBC .
(1) рассматриваем такой вариант.
Хотелось бы конечно стандартными средствами 1С, но что-то мне подсказывает что это не наш случай.
(2) сейчас буду запускать. ))))
я думаю можно смело идти пить пиво. надеюсь с утра что то будет :)
если у вас есть свободное место для временного файла на сервере 1С то теоретически можно, но скорее всего нет.
А чего там в 1ТБ то? может можно сократить?
(9) а временный файл где создается? Так-то диск в 2 Тб прикрутили к серваку админы.
Сократить можно и нужно, но это долгий процесс.
стандартный подход ко всяким таким операциям требует ТРООЙНОЙ объем. так, что не пройдет.
если переносится для того, что бы быстрей работала. ну в общем расскажите пожалуйста о проценте ускорения. (если оно будет конечно)
Больше проблем будет с загрузкой, чем с выгрузкой. 1С-ка при загрузке дтшника создаёт временные файлы соизмеримого с самим дтшником размера.
Кроме того, очень желательно иметь свежую версию платформы 8.3 и конфу не в режиме совместимости с 8.2 - это уже для эксплуатации, а не для переезда.
Есть ещё нюансы: возможно придётся переписать некоторые запросы, т.к. оптимизатор Оракла не всегда адекватно воспринимает конструкции, идеальные с точки зрения стандартов 1С. Но в целом на хорошем железе все должно летать.
Да, и без рекомендованных патчей не заведётся - имейте это ввиду.
(12) Ускорение будет за счёт того, что это версионник. Плюс приятный бонус - формирование отчётов без богомерзкого nolock. Т.е. подобающая солидным системам целостность читаемых данных, не то что на скуле.
(13) спасибо за ценные советы. На 8.3 собираемся обязательно обновится, а где можно покурить про оптимизатор Оракла, это я в первый раз слышу.
(12) не для производительности. Там что-то с лицензионной политикой, короче руководство заморочилось и нас озадачило.
(14)ну я сразу огорчу по времени, при любом переносе придется делать полную переиндексацию точно и возможно перерасчет итогов, для терабайта только эта операция будет часов 10 идти.(3)[Хотелось бы конечно стандартными средствами 1С, но что-то мне подсказывает что это не наш случай. ]
типичный случай выгрузкизагрузкичерезxml в идентичную конфигурацию
путем отборов нет проблем сделать это частями и не порождать 2 Тбайтный xml
(16)
зачем пересчет итогов ? индексация зачем ?
с Вашими подходами нужен спец по ораклу.
без шаманства 1с8 с ораклом не работает.
(10) временный файл создается при выгрузке\загрузке на сервере 1С в зависимости настройки переменных сред. По умолчанию это диск С. Если у вас диск С не 1ТБ и больше, сразу фэйл.
Руководству вбить в голову гвоздь. Не взлетит ваша затея. Слишком трудоемко, дорого, долго т.д. Минусов от такой миграции больше чем плюсов, тем более если вопрос производительности не стоит.
(21) А это вообще рабочий вариант? Бинарники нормально конвертируются? Таблицы разве все по именам совпадают на разных платформах?
(21)Предлагаешь вручную настраивать соответствие полей/таблиц?
Полагаю, через dt быстрее будет.
(23) Всё будет ОК, если деньги сэкономленные на лицензиях потратят на спецов :)))
Хотя надо помнить о платности поддержки Оракла при расчетах.
(24) нет конечно . Имена полей совпадают . Имена таблиц отличаются первым символом.
(24)точно не знаю, но думаю одинаковые, единственное может отличатся форматы полей или примари кей или еще чего, но в целом имена должны совпадать.
(29) экспотры они довольно умные сейчас.
я с ораклом никогда не работал, по этому это только мои предположения :)
тем не менее я переносил с 2012 скуля (после рековер студия) на скуль 2000, там то-же были проблеммы с разными фрматами.
(31) если DT терабайт - какой размер XML будет. думаю под 100 терабайт :)
придется кусками. это на неделю.
(23) //временный файл создается при выгрузке\загрузке на сервере 1С в зависимости настройки переменных сред.
а какая переменная среды за это отвечает?
(34) Осмелюсь предположить, что это от неумения готовить. Иными словами: неча на зеркало пенять.
(39) пока вы предполагаете это уже давно пройденный этап
Погодите про ентерпрайз ))) мне сначала надо как-то данные перенести.
(42) да ок. Делайте выгрузку штатными средствами движка 1c И штатными же средствами загружайте. Разве вендор глаголит иначе?
(41) Ну может для слабых духом и пройденный, а у кого-то наоборот - скуль уже 2 года забыт как страшный сон.
Холивар лишен смысла, если не подкреплен реальной аргументацией. Скучно это.
Давайте без холиваров плз.
Тем более вопрос надо ли переходить не ставится.
(45) Вот и поведал бы о проблемах, если в курсе конечно. Глядишь и нашлись бы аргументы для ТСа, чтобы объяснить руководству о несоответсвии стоимости овчинки и выделки.
(46) холивара нет. Вендор четко регламентирует порядок переноса между Субд. Все остальное танцы на атомной станции
ИМХО, интеграция лучше с MS, ну чисто из-за того что платформа написана на VSС++(исходя из ошибок платформы, которые выдавало иногда). Поэтому, можно землю пахать на верблюде, но лучше, к этому, приспособлена лошадь.
(0)может базе сделать обрезание (ну хотя бы копии базы с которой делать перенос)
(46) топик изначально холивар, пока на копии базы не выгружен dt или пока не произошёл сбой при выгрузке
ЕМНИП 1С при выгрузке дт использует BULK COPY. Можно попробовать выгрузить из SQL через BCP, предварительно прогнав выгрузку небольшой копии и через профайлер сгенерить список команд\таблиц.
правда потом загружать в Oracle, делать мапинги, преобразование типов и т.д тп проще уволить руководство)
(58) первая же попытка открыть в 1С конфигуратор после такой трансформации кончиться аварией
хочется спросить у ТС, как там дела с (5), на сколько десятых процента дело продвинулось?
(62) трудно ТС-у, будучи прикованному к rphost-у,дотянуться до интернета =)
смотрите новый сериал "Переход". Первый сезон "Выгрузка"
В общем я вчера вырубил выгрузку от греха подальше. Сервер боевой, не хочется рисковать.
Надо разобраться как установить временный файл на большой диск и попытаться снова.
накую это нужно при двух идентичных конфигурациях ?
(69) Почему один и тот же? Никто же не мешает риб кусками гонять
(70) кто-то мешает гонять те же отборы в выгрузке/загрузке ?
(71) Никто.
Так что разницы никакой, согласен.
Консенсус детектед )
(72) угу
и на месте ТС-а я бы начал с запуска пузометра и определения чем терабайт занят, вдруг это тупо порнуха в нормальном качестве =)
(73) Бюджет осваивают. Может им вообще шринк надо сделать и куча места освободится :-)
(74) Я не был бы столь категоричен не зная "Что за контора", "Какой период" в данной базе.
Если контора разорилась на серваки и на сам Оракл, то есть гипотеза, что это далеко "не маленькая хач-палатка"
У одного из моих заказчиков был опыт сопровождения 1С на Оракле, база около 800 Гб.
Мучались 3 года.
Тормозило.
В компании три крутых оракл-админа.
Ставили апдейты и оракла, и 1С.
Особенно изящно делали реструктуризацию регистра бухгалтерии:
в оракле не проходило впринципе, поэетому я им в шутку предложил решение:
В конце концов перешли назад на скуль, производительность выросла в разы.
Очень довольны.
А если у вас база 1 Тб, то могу сделать вам свертку базы за 2 часа.
Есть универсальное решение, моя разработка.
Врмени практически не занимает, проходит влет.
100% контроль ссылочной целостности, не нужно пересчета итогов, не нужно изменений в конфигурации.
Микрософт имхо перегнул палку с лицензированием по ядрам. Настолько, что Оракл стандарт стал реальной альтернативой скулевскому энтерпрайзу.
(80) Вознаграждение конечно хочу, но значительно меньше, чем любой франч возьмет за работу по свертке базы.
И меньше, чем штатный программист получит за эту работу в виде ЗП.
Так как для меня сверка любой базы - это не работа, а пара пустяков))
Если интересно, пишите в личку, уверен что договоримся.
(83) это тяжкое оскорбление, в прошлом веке за такое в рожу канделябром заезжали =)
Описание могу дать
Могу показать реальный отзыв от клиента, у которого база была 1 Тб + куча более маленьких в РБД.
Больше года не знали даже как подступить к задаче свертки. Нашли меня, так до сих пор удивляются как это может быть быстро и просто :)
(85)описание - это интересно, а "сопли юзеров" - извини но не показатель, нужно курить тему в полный рост что-бы иметь потенцию на достоверный отзыв.
500 Гб переносил через dt - проблем не было. Только надо место под dt иметь на диске, где крутится сервер 1С (он там временно создается).
80гб примерно будет dt от террабайтной базы (если нет несжимаемых данных).
Ну и запас времени в пару суток на выгрузку/загрузку.
(78) " могу сделать вам свертку базы за 2 часа.
Не может быть универсальных решений. Или это нечто примитивное, типа свертки только регистров и пометки на удаление документов "до даты".
Для корректной свертки необходим анализ связанности документов - что можно удалить непосредственно, а что - нет. Какие таб.части - лишние, и можно тупо очистить, а какие-сворачивать. Какие реквизиты в документах типа "документ-основание" можно и надо почистить, чтобы освободить ссылки и т.п.
Но в моем случае - да, raid из ssd :)
Ну и вдогонку к (90): свертка на террабайтной базе за 2 часа - это что-то совсем фантастическое. Очистка даже одного регистра в 100 млн. записей будет идти долго, а потом - пересчет итогов.
Разве что таблица пересоздается или транкейтится, и делается перенос только небольшого кол-ва "нужных" записей. Тогда - да.
(78)
Не поверите, но это универсальное решение, которое перед сверткой осуществляет анализ связанности документов.
И не удаляет ссылки, на которые есть связи в открытом периоде.
Пробовал на УПП 1.3, Бух 3.0 с разделителями, УТ 10, ЗУП 2.5, а также на полностью самописной конфигурации.
Есть реальные заказчики, которые подтвердят работоспособность и скорость работы свертки.
Писал долго, месяца 3. Тестировал тоже долго. Поэтому решение универсальное.
Помимо сверки, есть еще одна функция - поиск и быстрое удаление неиспользуемых элементов справочников.
Два заказчика таким образом почистили спр Номенклатура и Единицы от 1.2 млн и 0.9 млн сответственно неиспользуемых позиций. Плюс куча мусора в других справочниках.
Просто надо знать скуль на 5 с плюсом и понимать структуру хранения таблиц 1С ))) Вот и все
(93) (94) пока никакой конкретики. потом мне одному (93) напоминает речь продажника толкающего то, что у него есть для продажи?
Недавно столкнулся с необходимостью делать из 1С прямые запросы к базе данных Oracle, используя ADODB.Connection. В этой статье хочу поделиться опытом и рассказать про некоторые особенности с которыми пришлось столкнуться.
Провайдер
Первое, что необходимо для использования ADODB.Connection это наличие в системе провайдера (драйвера), который позволяет подключаться к источнику данных. Для баз данных Oracle существует два драйвера.
Здесь в разделе Drivers нас интересует пакет Oracle Data Access Components for Windows
Дальше разберетесь сами. Нужно только выбрать правильную разрядность. Не надо только качать пакет где в названии есть Xcopy. В нем используется какая-то полуавтоматическая установка через .bat файлы.
В процессе установки можно выбрать только то, что нас интересует Oracle Provider For OLE DB
Также в процессе установки желательно указать параметры для подключения к серверу с оракловыми базами данных. Или это можно сделать позднее, но для этого придется самостоятельно отредактировать файл tnsnames.ora
После установки откроем наш файл *.udl и теперь мы видим, что на закладке Поставщик данных появилась еще одна строчка с провайдером Oracle Provider for OLE DB
На какой рабочей станции устанавливать драйвер
Теперь немного порассуждаем на каком компьютере должен быть установлен провайдер. Это может отразиться и на выборе разрядности драйвера, о чем говорилось в предыдущем пункте. Раз уж вы читаете эту статью вряд ли вы используете файловый вариант базы 1С, т.к. базы данных Oracle используются как правило очень крупными организациями. Скорее речь идет о клиент-серверном варианте базы 1С. Таким образом мы имеем два варианта.
Либо устанавливать драйвер на каждой клиентской машине, либо один раз на сервере, где физически установлен сервер 1С:Предприятия. Понятно, что ставить драйвер на каждую клиентскую машину это не вариант, тем более, что у разных пользователей могут быть установлены операционные системы с разной разрядностью. Да и само количество пользовательских станций может быть большим. Поэтому устанавливать драйвер будем на сервере 1С:Предприятия. Напомню, что код на сервере 1С:Предприятия выполняется от имени служебного пользователя USR1CV8. Соответственно у этого пользователя должны быть права на использование провайдера.
Процедура подключения
Так как драйвер мы установили на сервере, то и установка соединения должна выполняться на сервере, для этого процедуру подключения к оракловой базе разместим в серверном общем модуле ОбщегоНазначенияСервер.
Теперь хочу сделать несколько пояснений.
- Если кто-то заметил, то псевдонимы полей в тексте запроса взяты в кавычки. Это особенность языка PL/SQL. Ни в языке запросов 1С ни в Transact-SQL эти кавычки не нужны.Поэтому, если будете использовать псевдонимы, помните про этот момент, иначе запрос вывалится с ошибкой.
- В строке запроса
Теперь проделаем обратную операцию. Вставим записи из таблицы значений в таблицу базы данных Oracle.
И опять несколько замечаний
-
В следующей строке
Спасибо, очень полезно!
И ещё, вроде бы, в INSERT INTO запросе вылетит ошибка, т.к. отсутствует открывающая скобка для VALUES (очепятка) %)
Подключение проходит отлично.
Далее SQL запросами получаем данные и пытаемся обработать и тут начинаются глюки. Допустим храним в базе Oracle УникальныйИдентификатор элемента справочника 1С, из полученной строки ищем ссылку:
И рандомно получаются такие ситуации, когда мы на явно существующий УИд не получаем ссылку на справочник. При повторном запуске этого же кода, отрабатывает и получает нужное значение.
Помогите, может кто-то встречался с подобной ситуацией, в чем может быть проблема? Со стороны кода не вижу проблем, тем более что ошибка плавающая и на одних и тех же значениях скорее не повторяет себя, хотя может и повторяться.
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Обмен данными 1c с базой Postgresql
Здравствуйте всем! Такой вопрос: В конфигурации УТ (8.2) дописан обмен данными с базой.
как осуществить обмен данными с базой данных
есть вот такие наработки, если нажать на регистрацию, ввести данные для регистрации , надо чтоб в.
Обмен между мобильным приложением и базой 1С
При запуске обмена данными с мобильного клиента вылетает ошибка разбора XML файла. (во вложении.
//. Если идентификатор не указан, создается пустая ссылка.
посмотрите, что вы кладете на сохранение
Добавлено через 24 минуты
Поясняю еще конкретней, чтобы не было сомнений:
- в справочнике много реквизитов разных типов, они могут быть как заполненные, так и не заполненные.
- грузится очень много записей сразу - порядка миллиона
- обработка по загрузке или проверке всех реквизитов всего объема информации занимает не менее 5 часов
- имеет место быть не просто пустые значения, а неправильные О_о
Из вы изложенного: даже если грузить допустим кусками по 10тыс. записей, то каждый пустой реквизит проверять по два раза "а вдруг там есть на самом деле значение", формируя при этом динамически для этого реквизита этой записи мини-запросик для повторного получения данных - думаю как-то маразматично О_о и не решает последний вопрос
Дали мне поковыряться в одной обработке - грузит данные из оракла. Хочу допилить ее чтобы и записывала данные в таблицы. Триальный оракл поставил на вирт машину, для экспериментов, есть копия базы довольно большая и мусорная, в идеале хочу настроить синхронизацию с оракл, при проведении некоторых документов в 1С (конфа БГУ 1.0 толстая).
Так выглядит загрузка спр из оракл (пока тестовая, сам механихм думаю понятен)
Трудности возникают при попытке записать в оракл, выдает ошибку: Ошибка при вызове метода контекста (EOF): Произошла исключительная ситуация (ADODB.Recordset): Operation is not allowed when the object is closed.
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Альтернатива Oracle (условие: использование языка SQL и процедурного PL/SQL)
Здравствуйте! Проблема такая: мне надо написать курсовой проект в котором управление БД, созданной.
Oracle, SQL, PL/SQL. В каком порядке изучать?
привет. скачал книжки для новичков по Oracle, SQL, PL/SQL. в какой последовательности надо.
Oracle PL/SQL
Доброе время суток. Может помочь в єтом не понятном для меня задании? Задание: "С помощью.
Oracle SQL*plus
Привет всем, а где в интернете я могу скачать Oracle SQL*plus, скиньте ссылку пожалуйста, а то я.
Так ты же запрос на Update пишешь и хочешь объектной моделью загружать.
Добавлено через 6 минут
Или ты хочешь сначала записать и сразу же прочитать записанные данные?
Добавлено через 7 минут
Пример:
Оракл ругается - Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Oracle][ODBC][Ora]ORA-00936: missing expression
глянуть бы, что там получилось
Добавлено через 3 минуты
Вы прямо озвученный текст туда пихаете? Это равнозначно просто ТекстЗапр = "INSERT INTO FK_RAS values('Чаво надо'");Правда, я ещё бонус в виде одинарных кавычек вложил
Читайте также: