powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Импорт в MySQL
12 сообщений из 12, страница 1 из 1
Импорт в MySQL
    #32464336
Valerii_TVX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто знает чем можно "втолкать" данные в базы MY SQL?
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464386
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотря из чего

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464392
Valerii_TVX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из DBF
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464403
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например мы частенько импортируем таблицы из DBF в MySQL :)

Сначала вручную создаем таблицу (цы) на сервере.
Затем пишем программу на фоксе, которая циклически перебирает записи и через ODBC закидывает на сервер.

Есть какие-то готовые программы, но они говорят дурацкие

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464406
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ODBC лучше искать на http://www.mysql.com

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464420
Valerii_TVX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Marat_L
Дривер ODBC где взять, я тоже под VFP сижу....
Спасибо...
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464423
Valerii_TVX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ODBC лучше искать на http://www.mysql.com
Нет там на шару ничего - денег хотят... нету у нас бабла, нету...
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464433
Valerii_TVX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть там, есть,
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32464435
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КАКОЕ БАБЛО!!! Ты что!!???

Качай пока ссылка есть :))
Прям берешь регетом и тыкаешь

http://www.mysql.com/get/Downloads/MyODBC3/MyODBC-3.51.06.exe/from/http://mysql.tsuren.net/%5D%7C><A]http://www.mysql.com/get/Downloads/MyODBC3/MyODBC-3.51.06.exe/from/http://mysql.tsuren.net/]|> HREF="http: http://www.mysql.com/get/Downloads/MyODBC3/MyODBC-3.51.06.exe/from/http://mysql.tsuren.net/ " TARGET="_blank">http://www.mysql.com/get/Downloads/MyODBC3/MyODBC-3.51.06.exe/from/http://mysql.tsuren.net/



Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32468083
Фотография oz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честное слово, при упоминании сочетания букв CBDO в обратной последовательности меня начинает лихорадить. Народ, не ленитесь! Если можно обойти ODBC (потратив на кодинг +2 часа времени), то лучше сделать это. В большинстве случаев выигрыш во времени/производительности/надежности/универсальности будет стоить потраченого времени. Скрипт, предложенный мной ниже, парсит dbf и выводит его в виде таблицы. Скрипт не зависит от структуры таблицы и наличия каких-либо ресширений пхп. Переделать цикл по строкам на вставку в мускуль не составит труда (особенно, если структура dbf-файла известна).
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
Choose the DBF file:
<form enctype= "multipart/form-data"  action=dbf.php method=post>
 <input type=file name=userfile><br>
 <input type=submit>
</form>
<?php
   echo '<div style="font-size:70%;color:red;">'.
      'Note: maximum filesize to upload in host provider configuration file is '.
      get_cfg_var('upload_max_filesize').'</div>';
   if(!is_uploaded_file($_FILES['userfile']['tmp_name'])){
      echo $_FILES['userfile']['error'];
      return;
      }
   $filename = $_FILES['userfile']['tmp_name'];
   $fd = fopen ($filename, 'r');
   fseek($fd,  4 );
   $contents=fread($fd,  8 );
   $rec_count = 
      ord(substr($contents,  0 ,  1 )) +
      ord(substr($contents,  1 ,  1 )) *  256  +
      ord(substr($contents,  2 ,  1 )) *  256  *  256  +
      ord(substr($contents,  3 ,  1 )) *  256  *  256  *  256 ;
   $first_record=
      ord(substr($contents,  4 ,  1 )) +
      ord(substr($contents,  5 ,  1 )) *  256 ;
   $record_len=
      ord(substr($contents,  6 ,  1 )) +
      ord(substr($contents,  7 ,  1 )) *  256 ;
   if($first_record + $record_len * $rec_count - filesize($filename) >  1 ){
      echo '<br>'.$_FILES['userfile']['name'].
         ' is not a valid DBF file';
      fclose ($fd);
      unlink($_FILES['userfile']['tmp_name']);
      return;
      }

   fseek($fd,  32 , SEEK_SET);
   $file_head = fread($fd, $first_record -  32 );

   fseek($fd, $first_record, SEEK_SET);
   
   echo '<table border=1><tr bgcolor=red>';
   for($j= 0 ;$j<strlen($file_head)/ 32 - 1 ;$j++)
      echo '<td>'.str_replace(chr( 0 ), ' ', substr($file_head, $j *  32 ,  10 )).
         '</td>';
   echo '</tr>';
   for($i= 0 ;$i<$rec_count;$i++){
      $contents = fread ($fd, $record_len);
      echo '<tr>';
      for($j= 0 ;$j<strlen($file_head)/ 32 - 1 ;$j++)
         echo '<td>'.
            substr($contents, 
               ord(substr($file_head, $j *  32  +  12 ,  1 )) +
                  ord(substr($file_head, $j *  32  +  13 ,  1 )) *  256  +
                  ord(substr($file_head, $j *  32  +  14 ,  1 )) *  256  *  256  +
                  ord(substr($file_head, $j *  32  +  15 ,  1 )) *  256  *  256  *  256 ,
               ord(substr($file_head, $j *  32  +  16 ,  1 ))).
            '</td>';
      echo '<tr>';
      }
   echo '</table>';
   fclose ($fd);
   unlink($_FILES['userfile']['tmp_name']);
?>

Посмотреть работу скрипта можно здесь
------------------------------------------------
Who is Fuck the Alise?
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32468899
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oz Если можно обойти ODBC (потратив на кодинг +2 часа времени), то лучше сделать это. В большинстве случаев выигрыш во времени/производительности/надежности/универсальности будет стоить потраченого времени.


полностью согласен с автором -- ODBC не предназначен для передачи БОЛЬШОГО объема данных. Как одно решений - классическое - выгрузка в текстовый файл, и загрузка потом из него. В пользу этого варианта говорит то обстоятельство, что процедуры иморта/экспорта очень хорошо оптимизированы по производительности.

Для неверящих, перекачка таблички состоящей из одного столбца целых чисел, в кол-ве 950_000 через ODBC-драйвер заняла 8мин, а через промежуточный текстовый файл - 2,5 мин.

________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
Импорт в MySQL
    #32469031
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не всегда лучше то что оптимальнее,
Иногда просто надо решить задачу имеющимися средствами :)

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Импорт в MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]