Opencart + TecDoc

Статус
В этой теме нельзя размещать новые ответы.
Спасибо, изначально делал по второму сценарию, когда доходит до 27%установки выдает эту ошибку, реально в архиве этого файла нет, попробую еще третий сценарий, но шансы на успех без этого файла думаю не велики.....
 
Спасибо, изначально делал по второму сценарию, когда доходит до 27%установки выдает эту ошибку, реально в архиве этого файла нет, попробую еще третий сценарий, но шансы на успех без этого файла думаю не велики.....

если ты пользуешься Daemon Tools то при перемонтировки диска возможна ошибка при идентификации диска. Попробуй сделать все то же самое но через Alcohol или Drive Image
 
Открой с помощью ултра исо, измени файл название файла и сохрани образ. Делов то на 5 минут
 
Всем привет. Может кому поможет такой вариант слива базы.

Перед тем, как нашел ошибку в дампе 2015 (уже ее залил на локалхост), много скриптов php перепробовал, каких то программуль... Нашел такие варианты, которые работали.

1. Слив базы я начинал программой RazorSQL. Нормально сливается.
- Можно каждую таблицу отдельно выгрузить или в одну.
- Создает DDL (sql запрос, на создание таблиц пустых со структурой TECDOC), кому удобно без данных создать структуру сначала. Единственное, надо сделать правки под mysql формата BINARY(...) на BITS(252) или наоборот, уже не помню.

Я не разбирался точно, но сливается почти в оригинале, с ключами и прочим.
Дальше уже править базу, самостоятельно (удалять CTM и так далее). Оптимизировать в общем.

2. Слив картинок и таблиц скриптом (php). У меня слив работал без проблем. Код можно и поправить под нужды и будет хорошо.
Я думаю таким макаром и пдф можно вытянуть. Но этим я уже не заморачивался.
Код:
<?php
    class Tecdoc {
        var $db;

        function __construct() {
            $connection_str = "Driver={Transbase ODBC TECDOC CD 1_2014};Database=TECDOC_CD_1_2014@localhost";
            $this->db = odbc_connect($connection_str,"tecdoc","tcd_error_0") or odbc_errormsg();
       
            mysql_connect("localhost", "tecdoc", "1111");
            mysql_select_db("tecdoc");
            mysql_set_charset("utf8");
        }
   
        function export($table_name) {
            echo "$table_name - processing... ";
            flush();
       
            $query = "SELECT * FROM " . $table_name;
            $data = odbc_exec($this->db, $query);
            odbc_longreadlen($data, 10485760);
            while($row = odbc_fetch_array($data)) {
                foreach($row as $key => $value) {
                    $keys[] = "`" . $key . "`";
                    $values[] = "'" . mysql_real_escape_string($value) . "'";
                }
                $mysql_query = "INSERT INTO `" . $table_name . "` (" . implode(",", $keys) . ") VALUES (" . implode(",", $values) . ")";
                mysql_query($mysql_query);
                //echo "$mysql_query<hr>";
                set_time_limit(3600);
                unset($keys);
                unset($values);
                unset($row);
            }
            echo "completed!<br>";
            flush();
        }
   
        function exportGraphics($table_name) {
            echo "$table_name - exporting... ";
            flush();
       
            $query = "SELECT * FROM " . $table_name;
            @mkdir("images/" . $table_name);
            $data = odbc_exec($this->db, $query);
            odbc_longreadlen($data, 10485760);
            while($row = odbc_fetch_array($data)) {
                if($row['GRD_ID'] != "") {
                    $file_name_jp2 = "images/" . $table_name . "/" . $row['GRD_ID'] . ".jp2";
                    $file = fopen ($file_name_jp2, "w");
                    fputs($file, $row['GRD_GRAPHIC']);
                    fclose($file);
                    set_time_limit(3600);
                    unset($row);
                }
            }
            echo "completed!<br>";
            flush();
        }
   
        function exportAllGraphics() {
            $result = odbc_tables($this->db);
            while (odbc_fetch_row($result)) {
                if(odbc_result($result, "TABLE_TYPE") == "TABLE") {
                    $name = odbc_result($result, "TABLE_NAME");
                    if (substr($name, 0, 12) == 'TOF_GRA_DATA')
                        if (!is_dir("images/" . $name))
                            $this->exportGraphics($name);
                }
            }
        }
    }

    $tecdoc = new Tecdoc();
    $tecdoc->export("TOF_MANUFACTURERS");
    $tecdoc->export("TOF_MODELS");
    $tecdoc->export("TOF_DES_TEXTS");
    $tecdoc->export("TOF_COUNTRY_DESIGNATIONS");
    $tecdoc->export("TOF_DESIGNATIONS");
    $tecdoc->export("TOF_TYPES");
    $tecdoc->export("TOF_ARTICLES");
    $tecdoc->export("TOF_SUPPLIERS");
    $tecdoc->export("TOF_ART_LOOKUP");
    $tecdoc->export("TOF_SEARCH_TREE");
    $tecdoc->export("TOF_LINK_GA_STR");
    $tecdoc->export("TOF_BRANDS");
    $tecdoc->exportAllGraphics();
?>

В общем так... Кто сам хочет сливать и оптимизировать.
 
Последнее редактирование:
Всем привет. Может кому поможет такой вариант слива базы.

Перед тем, как нашел ошибку в дампе 2015 (уже ее залил на локалхост), много скриптов php перепробовал, каких то программуль... Нашел такие варианты, которые работали.

1. Слив базы я начинал программой RazorSQL. Нормально сливается.
- Можно каждую таблицу отдельно выгрузить или в одну.
- Создает DDL (sql запрос, на создание таблиц пустых со структурой TECDOC), кому удобно без данных создать структуру сначала. Единственное, надо сделать правки под mysql формата BINARY(...) на BITS(252) или наоборот, уже не помню.

Я не разбирался точно, но сливается почти в оригинале, с ключами и прочим.
Дальше уже править базу, самостоятельно (удалять CTM и так далее). Оптимизировать в общем.

2. Слив картинок и таблиц скриптом (php). У меня слив работал без проблем. Код можно и поправить под нужды и будет хорошо.
Я думаю таким макаром и пдф можно вытянуть. Но этим я уже не заморачивался.
Код:
<?php
    class Tecdoc {
        var $db;

        function __construct() {
            $connection_str = "Driver={Transbase ODBC TECDOC CD 1_2014};Database=TECDOC_CD_1_2014@localhost";
            $this->db = odbc_connect($connection_str,"tecdoc","tcd_error_0") or odbc_errormsg();
      
            mysql_connect("localhost", "tecdoc", "1111");
            mysql_select_db("tecdoc");
            mysql_set_charset("utf8");
        }
  
        function export($table_name) {
            echo "$table_name - processing... ";
            flush();
      
            $query = "SELECT * FROM " . $table_name;
            $data = odbc_exec($this->db, $query);
            odbc_longreadlen($data, 10485760);
            while($row = odbc_fetch_array($data)) {
                foreach($row as $key => $value) {
                    $keys[] = "`" . $key . "`";
                    $values[] = "'" . mysql_real_escape_string($value) . "'";
                }
                $mysql_query = "INSERT INTO `" . $table_name . "` (" . implode(",", $keys) . ") VALUES (" . implode(",", $values) . ")";
                mysql_query($mysql_query);
                //echo "$mysql_query<hr>";
                set_time_limit(3600);
                unset($keys);
                unset($values);
                unset($row);
            }
            echo "completed!<br>";
            flush();
        }
  
        function exportGraphics($table_name) {
            echo "$table_name - exporting... ";
            flush();
      
            $query = "SELECT * FROM " . $table_name;
            @mkdir("images/" . $table_name);
            $data = odbc_exec($this->db, $query);
            odbc_longreadlen($data, 10485760);
            while($row = odbc_fetch_array($data)) {
                if($row['GRD_ID'] != "") {
                    $file_name_jp2 = "images/" . $table_name . "/" . $row['GRD_ID'] . ".jp2";
                    $file = fopen ($file_name_jp2, "w");
                    fputs($file, $row['GRD_GRAPHIC']);
                    fclose($file);
                    set_time_limit(3600);
                    unset($row);
                }
            }
            echo "completed!<br>";
            flush();
        }
  
        function exportAllGraphics() {
            $result = odbc_tables($this->db);
            while (odbc_fetch_row($result)) {
                if(odbc_result($result, "TABLE_TYPE") == "TABLE") {
                    $name = odbc_result($result, "TABLE_NAME");
                    if (substr($name, 0, 12) == 'TOF_GRA_DATA')
                        if (!is_dir("images/" . $name))
                            $this->exportGraphics($name);
                }
            }
        }
    }

    $tecdoc = new Tecdoc();
    $tecdoc->export("TOF_MANUFACTURERS");
    $tecdoc->export("TOF_MODELS");
    $tecdoc->export("TOF_DES_TEXTS");
    $tecdoc->export("TOF_COUNTRY_DESIGNATIONS");
    $tecdoc->export("TOF_DESIGNATIONS");
    $tecdoc->export("TOF_TYPES");
    $tecdoc->export("TOF_ARTICLES");
    $tecdoc->export("TOF_SUPPLIERS");
    $tecdoc->export("TOF_ART_LOOKUP");
    $tecdoc->export("TOF_SEARCH_TREE");
    $tecdoc->export("TOF_LINK_GA_STR");
    $tecdoc->export("TOF_BRANDS");
    $tecdoc->exportAllGraphics();
?>

В общем так... Кто сам хочет сливать и оптимизировать.

Здравствуйте,
выгружал tecdoc как описано на этом сайте, т.е. через Access:
Для просмотра ссылки Войди или Зарегистрируйся
Не подскажете, сколько ГБ весит у Вас TOF_ART_LOOKUP после выгрузки в Mysql и сколько времени выгружали?
И еще по картинкам: их тоже надо выгружать (если да, то какая таблица) или они лежат в папку Tecdoc (в папках искал не нашел)
И еще по базе: обрабатывали Вы ее после выгрузки через RazorSQL или через Mysql Workbench? (я новичок в этих делах)
 
Цель: получить простейшую аналитику по запросам наиболее популярных артикулов в автомагазине. (версии модуля 2.х.х)
Как сделано: будем записывать в отдельно созданную таблицу
дату_время -IP_адрес_посетителя - артикул
Артикул будем брать из строки поиска по артикулу (у многих там написано "Номер запчасти: Например: CT637").
Для этого нам необходимо:
1. Создать таблицу для записи.
2. Производить запись в эту таблицу искомого артикула при каждом нажатии кнопки "Найти".
(будет здорово еще вставить строку проверки артикул!= пустому значению, чтобы не записывать пустые запросы)
Итак, создание таблицы:

CREATE TABLE IF NOT EXISTS `POPULAR_ARTICLES` (
`DT` datetime NOT NULL,
`ARTICLES` text COLLATE utf8_unicode_ci NOT NULL,
`IP` varchar(15) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC;

Для того, чтобы произвести запись в эту таблицу добавим в файл
parts/components/search_form.php после строки location = url;

<!-- запись в таблицу POPULAR_ARTICLES для статистики-->
<?php
$DATE=date("Y-m-d H:i:s"); // получает текущую дату-время
$IP = getenv ("REMOTE_ADDR"); // получает ip-адрес пользователя
mysql_query ("INSERT INTO `ИМЯ ВАШЕЙ БД`.`POPULAR_ARTICLES` SET DT='$DATE', ART='$str', IP='$IP'"); //Запись в таблицу POPULAR_ARTICLES
?>

сохраняем изменения в файле, наслаждаемся. Отныне и во веки веков каждое нажатие пользователем кнопки НАЙТИ будет фиксироваться в нашей таблице.

Вопросы:
1. Я таки не смог передать артикул в таблицу. В оригинальном файле берется введенный артикул #artnum, преобразовывается в str и вот это вот я передать не могу. Кто подскажет?
2. Было бы здорово дописать проверку str !=0 и только в этом случае производить запись - иначе поисковые роботы произведут в таблицу кучу пустых записей. Кто поможет?
 
Здравствуйте,
выгружал tecdoc как описано на этом сайте, т.е. через Access:
Для просмотра ссылки Войди или Зарегистрируйся
Не подскажете, сколько ГБ весит у Вас TOF_ART_LOOKUP после выгрузки в Mysql и сколько времени выгружали?
И еще по картинкам: их тоже надо выгружать (если да, то какая таблица) или они лежат в папку Tecdoc (в папках искал не нашел)
И еще по базе: обрабатывали Вы ее после выгрузки через RazorSQL или через Mysql Workbench? (я новичок в этих делах)

1. ART_LOOKUP не помню точно... Могу ошибаться, но помоему около 20+ Гб.
2. Картинки выгружал скриптом под сполером. Там функция exportGraphics(таблица) или exportAllGraphics. Тут думаю понятно.
3. Нет. После выгрузки не обрабатывал. Пока выгружал, залил тут с ветки базу от уважаемого maccenon! Workbench не пользовался.


Вопрос:
Пробую работать с автопитером через веб-сервисы. SOAP блочит на сутки меня и все тут)
Кто знает в чем косяк?

Спасибо.
 
Вы определитесь со страной то хотя-бы? Тут присутствуют представители следующих стран: Беларусь, Россия, Румыния, Сербия, Украина (вроде никого не пропустил). А дальше можно говорить о регионах, городах - и наконец то о поставщиках и доставках.
 
Может кто поделиться дампом TOF_ART_LOOKUP с Tecdoc 2015? Все никак не могу выгрузить, заранее благодарен
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху