12. Каталог TecDoc В формате Ms-Sql

12.1. Скачать и воспользоваться архивом БД с каталогом TecDoc


Перйдите на компьютер, где развернут сервер баз данных.

12.1.1. Скачайте архив с каталогом четвертого квартала 2013 года

CarShopMsTecDoc2014Q3

12.1.2. Извлеките из архива файлы и поместите их в папку
C:\Program Files\Microsoft SQL Server\ТУТ_ИМЯ_SQL_СЕРВЕРА\MSSQL\DATA

где ТУТ_ИМЯ_SQL_СЕРВЕРА - это имя сервера, которое вы присвоили на шаге 1.3.6 Развертывание MSSQL Express 2012
12.1.3. Запустите MSSQL Management Studio
12.1.4. Правым кликом мыши вызовите меню и вберите пункт "Присоединить"
12.1.5. Появится блок диалога "Присоединение базы данных".
12.1.6. Кликните кнопку Добавить
12.1.6. В появившемся блоке диалога укажите файл CarShopMsTecDoc2013Q4.mdf и кликните Ok

Перйдите на компьютер, где развернут интернет сервер.

Блокнотом откройте файл
C:\inetpub\wwwroot\carshop\web.config
Имя carshop было определено на шаге 11.2.1. и на шаге 11.4.1. Развертывание решения на узле интернет сервер
В файле web.config перейдите к блоку данных:


<connectionStrings>
...
    <add name="CarShopMsTecDocContext" 
              connectionString="Data Source=ИМЯ_КОМПЬЮТЕРА\ИМЯ_SQL_СЕРВЕРА;
              Initial Catalog=CarShopMsTecDoc2013Q4;Persist Security Info=True;
              User ID=sa;Password=ТУТ_ПАРОЛЬ" providerName="System.Data.SqlClient"/>
</connectionStrings> 

И убедитесь в том, что Initial Catalog=CarShopMsTecDoc2013Q4. Если Initial Catalog определен именем другой базы данных, замените на то имя, которое появилось в левом пенале MSSQL Management Studio после выполнения шагов 12.1.1-12.1.6.

Замечание: Запрещается изменять два имени
1. Запрещается изменять name="CarShopContext"
2. Запрещается изменять name="CarShopMsTecDocContext"
т.к. эти две базы данных не могут дублироваться в системе и их имена зашиты в код. Если изменить, то система не запустится.

12.2. Создать свой собственный каталог

Для создания своей собственной копии каталога понадобится промышленная версия MS Sql server Enterprise Edition, т.к. размер базы данных в процессе наполнения начинает превышать 10 GB. После наполнения базы данных необходимо выполнить сжатие таблиц и индексов. После этого выполнить сжатие файла базы данных. В результате объем данных упадет с 17 GB до 3.6GB. Но база данных со сжатыми таблицами и индексами не читается версией MS Sql Express Edition. В результате необходимо отменить сжатие и вы получите базу объемом 9 GB. Файл базы данных CarShopMsTecDoc2013Q4.mdf, именно таким образом и был создан. Для выполнения сжатия и обратной операции необходима другая версия, а именно MS Sql server Enterprise Edition со студией. Данную версию можно скачать и установить в Eval-режиме без нарушения лицензионных правил. После выполнения работ придется деинсталировать данный продукт с вашего компьютера.
http://www.microsoft.com/en-us/sqlserver/editions/2012-editions/enterprise.aspx

Если вы являетесь обладателем лицензии на Standard Edition и выше, то операции сжатия можно не выполнять, т.к. файлы баз данных не имеют ограничения по размеру. Действия описанные в данном подразделе необходимо выполнять в том случае, когда вы хотите использовать каталог TecDoc в формате MsSql, более свежего издания (позднее 2013Q4) или не смогли воспользоваться пунктом 12.1.
Формирование каталога TecDoc в формате MsSql является очень затратным по времени процессом. И может отнять у вас неделю или более (Все зависит от вычислительных мощьностей, которыми вы воспользуетесь для проведения работ). На формирование каталога, CarShopMsTecDoc2013Q4 потребовалась неделя. При этом использовался центр обработки данных (Intel Xeon 1245 V2 + Raid 0 Sata 3) и пять и пять виртуальных машин. В одной виртуальной машине крутился Ms Sql и в четырех других крутился TecDoc и WpfCarShp.exe. Причиной такого большого количества источников TecDoc является ограниченное число одновременных запросов, которые может без ошибок обработать TransBase. (TransBase - это база данных, на которой пострен TecDoc). В этом смысле все не так весело как хотелось бы.

12.2.1. Создание пустой БД на сервере Ms Sql сервер


Перйдите на компьютер, где развернут сервер баз данных и установлена утилита WpfCarShp.exe.

Воспользуйтесь пунктом 3.2. Создание баз данных с использованием утилиты WpfCarShop
для создания пустой БД предназначенной для хранения каталога TecDoc.

12.2.2. Конфигурирование компьютера на котором будет проводиться конвертирование


Перйдите на компьютер, где развернут каталог TecDoc.

Наполнение данными базы данных созданной в пункте 12.2.1. осуществляется утилитой WpfCarShp.exe. Выше мы сделали замечание о том, что одного компьютера для выполнеия конвертирования может и не хватить. (Вы можете не дождаться окончания процесса конвертирования).

Для выполнения конвертирования утилиту WpfCarShp.exe необходимо запускать на том компьютере, где развернут каталог TecDoc. Чтобы начать конвертировать необходимо сконфигурировать компьютер:
1. Установить Net 3.5
2. Установить Net 4.0
3. Установить утилиту WpfCarShp.exe
4. Сконфигурировать ODBC источник для доступа к TecDoc
5. Регистрация вашей торговой сети с ситеме

Шаги 1 и 2 описаны в пунктах 1.2.1 и 1.2.2 раздела Развертывание MSSQL Express 2012

Шаг 3 описан в 3.1.1-3.1.7 раздела 3. Создание баз данных с использованием утилиты WpfCarShop

Шаг 4 описан в разделе 5. Конфигурирование ODBC TecDoc

Шаг 5 описан в разделе 6. Регистрация вашей торговой сети

12.2.3. Выполнение конвертирования

12.2.3.1. Запустить утилиту WpfCarShop
12.2.3.2. Использовать пункт меню Развертывание и затем Enterprises
12.2.3.3. На появившейся форме кликните кнопку Обновить
12.2.3.4. Найти строку вашего предприятия и кликнуть по ней. При этом ниже строки появятся дополнительные кнопки
12.2.3.5. Из появившихся кнопок кликните Артикулы предприятия

На экране появится форма с перечнем команд (кнопок). Загрузку выполнять в следующем порядке:
1. Вид топлива: (Кликните по кнопке и дождитесь отклика в виде блока диалга "Операция выполнена успешно"). Наполняется таблица EnterpriseCarModelFuelTDES. Число записей от 17.

2. Производители авто: (Кликните по кнопке и дождитесь отклика в виде блока диалга "Операция выполнена успешно"). Наполняется таблица EnterpriseCarBrandTDES. Число записей от 389.

3. Типы моделей: (Кликните по кнопке и дождитесь отклика в виде блока диалга "Операция выполнена успешно"). Наполняется таблица EnterpriseCarModelTypeTDES. Число записей от 12195.

4. Модели авто: (Кликните по кнопке и дождитесь отклика в виде блока диалга "Операция выполнена успешно"). Наполняется таблица EnterpriseCarModelTDES. Число записей от 60576.

5. Артикулы по группам:
Наполняется таблица EnterpriseArticleCategoryItemTDES. Число записей от 4168488.
Данную таблицу необходимо наполнять порционно одновременно работающими несколькими копиями утилиты WpfCarShp.exe.
Для наполнения данного ресурса появилась дополнительная кнопка Макс. Кликните по ней, чтобы узнать верхнюю границу последней порции. Для загрузки данного ресурса мы рекомендуем на одном компьютере запускать не более четырех (может быть пяти) копий WpfCarShp.exe. Большего количества не выдержит сам TecDoc и процесс загрузки начнет глючить. Но нет проблем, если вы в свою сеть подключите еще один компьютер на котором развернут каталог TecDoc (не клиент TecDoc, но сам каталог TecDoc) и на нем запустите еще четыре копии утилиты WpfCarShp.exe. Порции должны иметь шаг в 500000 (пол-миллиона).
На первой копии WpfCarShp.exe введите границы 0 и 500000.
На второй копии WpfCarShp.exe введите границы 500000 и 1000000.
На третьей копии WpfCarShp.exe введите границы 1000000 и 1500000.
На четвертой копии WpfCarShp.exe введите границы 1500000 и 2000000.
Дождитесь успешной загрузки всех порций затем повторите запуск, очередных порций пока не дойдете до верхней границы полученной по кнопке Макс.

После загрузки Артикулов по группам наобходимо сжать данныею. Для этого:
(а.) Закройте все копии WpfCarShp.exe.
(b.) запустите MSSQL Management Studio.
(с.) Развнрните узел "Базы данных".
(d.) Разверните узел вашей БД (к примеру это CarShopMsTecDoc2014Q1).
(e.) Разверните узел таблицы.
(f.) Станьте на таблицу EnterpriseArticleCategoryItemTDES и правой кнопкой мыши вызовите меню
(g.) Выберите пункт Хранилище и затем пункт Управление сжатием
(h.) Появится блок диалога. Нажмите кнопку Далее
(j.) Включите флаг Использовать один тип сжатия для всех секций
(k.) Выберите тип сжатия Page
(l.) Нажмите Далее
(m.) Выберите Запустить немедленно и кликните кнопку Готово
Дождитесь окончания процесса. После этого для этой таблицы разверните узел Индексы. Станьте на каждый их них и правой кнопкой мыши вызовите меню. Далее воспользуйтесь шагами (g.)-(m.). Дождитесь окончания процессов.
Станьте на узел базы данных (к примеру это CarShopMsTecDoc2014Q1). и правой кнопкой мыши вызовите меню
Выберите пункт Задачи, далее Сжать и далее База данных. Дождитесь окончания процесса.

6. Брэнды неоригинальных деталей: (Кликните по кнопке и дождитесь отклика в виде блока диалга "Операция выполнена успешно"). Наполняется таблица EnterpriseArticleBrandTDES. Число записей от 2549.

7. Аналоги:
Наполняется таблица EnterpriseArticleLookUpTDES. Число записей от 43166060.
Данную таблицу необходимо наполнять порционно одновременно работающими несколькими копиями утилиты WpfCarShp.exe.
Для наполнения данного ресурса появилась дополнительная кнопка Макс. Кликните по ней, чтобы узнать верхнюю границу последней порции. Для загрузки данного ресурса мы рекомендуем на одном компьютере запускать не более четырех (может быть пяти) копий WpfCarShp.exe. Большего количества не выдержит сам TecDoc и процесс загрузки начнет глючить. Но нет проблем, если вы в свою сеть подключите еще один компьютер на котором развернут каталог TecDoc (не клиент TecDoc, но сам каталог TecDoc) и на нем запустите еще четыре копии утилиты WpfCarShp.exe. Порции должны иметь шаг в 500000 (пол-миллиона).
На первой копии WpfCarShp.exe введите границы 0 и 500000.
На второй копии WpfCarShp.exe введите границы 500000 и 1000000.
На третьей копии WpfCarShp.exe введите границы 1000000 и 1500000.
На четвертой копии WpfCarShp.exe введите границы 1500000 и 2000000.
Дождитесь успешной загрузки всех порций затем повторите запуск, очередных порций пока не дойдете до верхней границы полученной по кнопке Макс.

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

8. Применяемость артикула:
Наполняется таблица EnterpriseArticleApplicTDES. Число записей от 100620238.
Данную таблицу необходимо наполнять порционно одновременно работающими несколькими копиями утилиты WpfCarShp.exe.
Для наполнения данного ресурса появилась дополнительная кнопка Макс. Кликните по ней, чтобы узнать верхнюю границу последней порции. Для загрузки данного ресурса мы рекомендуем на одном компьютере запускать НЕ БОЛЕЕ ДВУХ (может быть трех) копий WpfCarShp.exe. Большего количества не выдержит сам TecDoc и процесс загрузки начнет глючить. Но нет проблем, если вы в свою сеть подключите еще один компьютер на котором развернут каталог TecDoc (не клиент TecDoc, но сам каталог TecDoc) и на нем запустите еще ДВЕ копии утилиты WpfCarShp.exe. Порции должны иметь шаг в 1 (одну тысячу!!!).
Дело в том что распределение данных для данного ресурса неоднородно. Для четвертого квартала записи формируются для интервала от 0 до 70 тысяч. и интервала от 900000 до Макс.
Чтобы для очередной порции в тысячу записей определить есть ли записи для заливки используйте следующий SQL запрос
select count(*) from TOF_LINK_LA_TYP join tof_link_art on lat_la_id nljoin la_id where LAT_TYP_ID >= 1000 and LAT_TYP_ID <= 2000
или менее точный но более быстрый запрос
select count(*) from TOF_TYPES where TYP_ID >= 1000 and TYP_ID <= 2000
где вместо 1000 и 2000 вы подставляете числа своего интервала.
Если запрос вернул ноль, то для данного интервала запускать процесс нет нужды.
SQL запрос необходимо выполнить в специальной среде или программе. Одну из таких (я нашел первую попашуюся в интеренете) можно скачать (и затем установить по следующей ссылке)
http://odbcquerytool.sourceforge.net/

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

9. Артикулы TecDoc:
Наполняется таблица EnterpriseArticleTecDocTDES. Число записей от 4099764.
Данную таблицу необходимо наполнять порционно одновременно работающими несколькими копиями утилиты WpfCarShp.exe.
Для наполнения данного ресурса появилась дополнительная кнопка Макс. Кликните по ней, чтобы узнать верхнюю границу последней порции. Для загрузки данного ресурса мы рекомендуем на одном компьютере запускать не более четырех (может быть пяти) копий WpfCarShp.exe. Большего количества не выдержит сам TecDoc и процесс загрузки начнет глючить. Но нет проблем, если вы в свою сеть подключите еще один компьютер на котором развернут каталог TecDoc (не клиент TecDoc, но сам каталог TecDoc) и на нем запустите еще четыре копии утилиты WpfCarShp.exe. Порции должны иметь шаг в 500000 (пол-миллиона).
На первой копии WpfCarShp.exe введите границы 0 и 500000.
На второй копии WpfCarShp.exe введите границы 500000 и 1000000.
На третьей копии WpfCarShp.exe введите границы 1000000 и 1500000.
На четвертой копии WpfCarShp.exe введите границы 1500000 и 2000000.
Дождитесь успешной загрузки всех порций затем повторите запуск, очередных порций пока не дойдете до верхней границы полученной по кнопке Макс.

После загрузки Артикулы TecDoc наобходимо сжать данные. Используйте шаги аналогичные тем, которые описаны для пункта Артикулов по группам.

10. Категории TecDoc: (Кликните по кнопке и дождитесь отклика в виде блока диалга "Операция выполнена успешно"). Наполняется таблица EnterpriseCategoryTecDocTDES. Число записей от 2778.

11. Элементы Категории TecDoc: (Кликните по кнопке и дождитесь отклика в виде блока диалга "Операция выполнена успешно"). Наполняется таблица EnterpriseCategoryItemTecDocTDES. Число записей от 35768.