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

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

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

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

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

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

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

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
03.04.2004, 22:11
    #32468083
oz
oz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт в MySQL
Честное слово, при упоминании сочетания букв 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
05.04.2004, 12:46
    #32468899
AlexPretov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт в MySQL
oz Если можно обойти ODBC (потратив на кодинг +2 часа времени), то лучше сделать это. В большинстве случаев выигрыш во времени/производительности/надежности/универсальности будет стоить потраченого времени.


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

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

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

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


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