8.х Импорт из sql в 1С

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Natalika25, 11 ноя 2011.

  1. TopicStarter Overlay
    Natalika25
    Offline

    Natalika25 Опытный в 1С

    Регистрация:
    21 сен 2011
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Ситуация такая: есть какая то сторонняя программа, которая имеет базу данных в sql и нужно каким то образом данные из этой БД вытащить в 1С, это возможно??? И как это можно сделать???
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    я думаю да, только придется очень сильно потрудиться (наверняка структура не совпадет, т.е. потребуется новая схема, преобразование данных вашей базы под эту схему, ну и собственно обработки загрузки данных в 1с)
  3. TopicStarter Overlay
    Natalika25
    Offline

    Natalika25 Опытный в 1С

    Регистрация:
    21 сен 2011
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    А можно по подробнее и по конкретнее??? предположим что структура будет совпадать
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в том, что совпадет - я сильно сомневаюсь, ну да ладно...

    думаю безпроигрышный вариант транспортного файла - Excel, обработки по загрузке данных в большинстве своем уже есть готовые, но в данном случае придется организвать выгрзку данных учитывая структуру этих Excel (У SQL есть свои механизмы на выгрузку данных...)

    З.Ы. по перекачке данных конечно у меня опыт небольшой, возможно есть и более оптимальный вариант

    Этот вариант для файловой версии точно катит, а вот если база 1с на SQL, то думаю все еще проще. Надо смотреть по месту
  5. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    выдергивал когда-то из sql базы таблицу через adodb.

    синтаксис уже не помню ;)

    вот пара примеров:
    _http://www.1c-pro.ru/index.php?showtopic=36748&hl=adodb
    _http://www.1c-pro.ru/index.php?showtopic=36170&hl=adodb
  6. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Тянуть через EXCEL - зло:
    1) EXCEL ограничен по количеству колонок и строк!
    2) Сокорость - очень медленая.

    vartanet
    Да, оптимальнее черз ADO или еще как, напрямую запросами к SQLю.
  7. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Вот примерчик:

    SERVERNAME - имя сервера MS SQL
    DBNAME - имя БД на сервере
    BDUSER - имя пользователя БД на сервере
    PWDB - пароль этого юзера

    Код:
    SQL = Новый COMОбъект("ADODB.Connection");
    SQL.CommandTimeout        = 10000; 
    SQL.ConnectionTimeout    = 10000; 
    SQL.Open("Driver={SQL Native Client};Server=SERVERNAME;Database=DBNAME; Uid=BDUSER;Pwd=PWDB;");
    
    ResSQL = SQL.Execute("
    |SELECT
    |    t_mytbl.id,
    |    t_mytbl.name
    |FROM t_mytbl
    |");
    
    Пока ResSQL .EOF=0 Цикл
    ИДшник        = ResSQL.Fields("id").Value;
    Наименование    = ResSQL.Fields("name").Value;
    //творим прочую ерунду
    
    ResSQL.MoveNext();
    КонецЦикла; ResCIS.EOF=0
    
    SQL.Close();
    
    
    Собственно можно и читать и писать в сторонюю БД запросами (вспоминаем студенческие годы и заново курим маны по синтаксису запросов SQL)

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