7.7 Перенос данных силами SQL

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем jon, 19 окт 2007.

  1. TopicStarter Overlay
    jon
    Offline

    jon Опытный в 1С

    Регистрация:
    4 сен 2006
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Братцы подскажите делал ли кто перенос данных между двумя идентичными сиквельными базами силами сиквела? Стоит ли пробовать?
  2. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    Средства SQL позволяют перенести из одной базы в другую все что угодно, для переноса все таблицы
    или несколько то таблиц используй export/import в качестве параметров один и тотже сервер только разные базы и выбери какую именно надо перенести табл.

    Если только часть там сложнее так как может оказаться два элемента (к примеру справочника)
    с одним кодом, если табл. получатель пустая то используй insert(select * from) пример могу выслать завтра щас sql под рукой нет
  3. TopicStarter Overlay
    jon
    Offline

    jon Опытный в 1С

    Регистрация:
    4 сен 2006
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    MaxxaM Привет! Спасибо за участие :unsure: Задача следующая, есть две эдентичные по структуре базы в сиквеле. Мне нужно переносить раз в месяц данные из одной в другую. Данные переносятся не все, а только те которые будут отвечать определенным критериям. В качестве данных будут выступать элементы справочников и документы. Перенос через txt или xml не подходит, так как надо переносить не одну сотню тысяч документов ну и понятно еще большее кол-во элементов справочников. Да и урбд тоже не подходит. Вот такая фигня.
  4. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    вроде как простоо:
    select *
    into RA7044
    from [GalaxyD].dbo.RA7044 t1
    where t1.sc98='0'

    но при этом тебе надо в процессе контролировать все элементы справочников (есть ли они в базе получателе, изменялись ли они изменялись ли их переодические реквизиты "очень геморойно" ), а если в документе используется поле типа Справочник или вобще неназначеного типа - очень большой геморой (анализировать каждый элемент по символьно :unsure: ) + контроль уникальности кодов в справочниках, журналах и т.д. реально это одним скриптом не нарисуешь и вероятность чавонибудь испортить при условии что работают в двух базах одновременна очень велика. типа:
    в 1 базе создали ТМЦ "Стол" с кодом "1" во 2 "Стул" при этом в накладной ссылка не на код "1" а на поле ID в сиквеле т.е. проводить сравнение каждый раз при вставке любой ссылки. или как то превести сначало к саглосованию все справочники а потом чуть проще, но могут и создавать в 1 базе и накладные и тут тоже трабл с документами введенными на основании.

    Лучше купи менеджер обмена данных (он недарогой нуна 2 комплекта) при использовыании в нем внутренней компоненты МОД ≈10000 накладных около 15 минут, при этом достаточно большой выбор условий обмена. хотя на первых порах следить за ним надо огого, потом у меня 6 баз менялось в автомате каждые 5 (15) минут и проблем практически не возникало.
  5. TopicStarter Overlay
    jon
    Offline

    jon Опытный в 1С

    Регистрация:
    4 сен 2006
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Так МОД делает обмен через txt или xml, я и так написал такой обмен, но при больших объемах это жесть. Если выгружать сто тысяч доков и все сопутствующие справочники или даже без справочников этот процесс очень продолжительный, а потом загружать еще дольше. Там файлики по 600 мегов получаются. Через сиквел должно быть быстрее как мне кажется, для начало необходимо синхронизировать справочнки, потом притащить доки. Но тут вопрос, могут ли в таблице доков базы источника после удаления дока и сжатия таблицы появиться запись с таким же ID?
  6. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    В МОДе есть возможность обмена через внешнюю компоненту (у меня МОД 8.0) она значительно быстрее использует свой формат *.mod.
    вероятность возникновения док с такимже ID по моему только в одном случае удалил последний созданный документ (полностью) и созд новый по логике вещей ID одно и тоже. кстате праверил теорию так точно одинаковые. B)




    Вспомнил (давно это было) в сиквеле есть такая вещь как репликация, подробности на www.sql.ru, помоему можно настроить репликацию справочников, а потом тащить доки, но??? кол-во траблов -число непредвиденное :unsure:
  7. TopicStarter Overlay
    jon
    Offline

    jon Опытный в 1С

    Регистрация:
    4 сен 2006
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Буду делать через txt, может и дольше, зато проверенно B)
  8. TopicStarter Overlay
    jon
    Offline

    jon Опытный в 1С

    Регистрация:
    4 сен 2006
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Накопал обработину которая переносит данные силами SQL, правда жаль что критерии для переноса не укажешь((

    Вложения:

Похожие темы
  1. agostev
    Ответов:
    6
    Просмотров:
    4.790
  2. j72001
    Ответов:
    1
    Просмотров:
    829
  3. nickvv
    Ответов:
    6
    Просмотров:
    2.347
  4. Yury
    Ответов:
    19
    Просмотров:
    6.371
  5. kogor
    Ответов:
    3
    Просмотров:
    2.956
Загрузка...

Поделиться этой страницей