Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Конверт mdb->MySQL "..и ето оченъ болъшое Добавлено: 05.12.05 19:39  

Автор вопроса:  student-uni
Хочу чтоб моя прога работала не толко с Аксесс но и с My SQL
У мехя естъ готовая база данных в Аксесс
Что ж мне теперъ заново конструироватъ для SQL ?
Я собственно уже начал, но ведъ ето рехнутъса можно!
Может кто знает конвертор или более простои путъ ?
Спасибо всем

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #1 Добавлено: 05.12.05 21:17
Хороший менеджер MySQL умеет импортировать базы данных из любых установленных в системе источников данных

Используй EMS MySQL Manager

Ответить

Номер ответа: 2
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #2 Добавлено: 07.12.05 12:22
шоб ти бил здоров !!!
я цкачал 13 мегов етои гадости
версии 3 5 0 7
и бил би тебе очен признателен если би ти подсказал
а где там собствено конвертор ?

Ответить

Номер ответа: 3
Автор ответа:
 student-uni



Вопросов: 122
Ответов: 257
 Профиль | | #3 Добавлено: 07.12.05 13:02
короче я експортировал из аксесса в дбф а потом конвертором дбф - в мускул
тоэ гимор но менъше

Ответить

Номер ответа: 4
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #4 Добавлено: 07.12.05 14:40
действительно, зря я про него тебе нарассказзал...
дежавю

я делал так:
Панель управления - источники данных ODBC
Создал источник данных, связанный с базой MySQL.

в Акцессе: Файл - Экспорт - Базы данных ODBC.

Там выбирал источник.

Ответить

Номер ответа: 5
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #5 Добавлено: 07.12.05 14:40
Для этого нужен драйвер MySQL ODBC Driver

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 07.12.05 21:05
Когда мне надо было перегнать БД информера по LineAge2 из mdb в MySQL, я написал простой скрипт на PHP:
<html><head><title>LineAge2 :: информер</title>
<style>

body {font: 11px verdana}
td.head {background: #808080; color: #FFFFFF}
table {font: 11px verdana}
td {padding: 4px}
input {font: 11px verdana}
pre {font: 11px lucida console; color: #004000}
hr {height: 1px; color: #000080}

</style>
</head><body>


<?php

if(!isset($_GET['odbc_dsn'];)){

?>

<form action="odbc2mysql.php" method="get">
<table cellpadding="4" cellspacing="1">
<tr><td colspan="2" class="head">ODBC</td></tr>
<tr><td>Источник DSN:</td><td><input type="text" name="odbc_dsn"></td></tr>
<tr><td>Логин:</td><td><input type="text" name="odbc_login"></td></tr>
<tr><td>Пароль:</td><td><input type="text" name="odbc_pass"></td></tr>
<tr><td colspan="2" class="head">MySQL</td></tr>
<tr><td>Сервер:</td><td><input type="text" name="mysql_server"></td></tr>
<tr><td>Логин:</td><td><input type="text" name="mysql_login"></td></tr>
<tr><td>Пароль:</td><td><input type="text" name="mysql_pass"></td></tr>
<tr><td>Имя БД:</td><td><input type="text" name="mysql_db"></td></tr>
<tr><td colspan="2" class="head" align="center"><input type="submit" value=" Конвертировать "></td></tr>
</table>
</form>

<?php

} else{

set_time_limit(1000);

$t = odbc_connect($_GET['odbc_dsn'], $_GET['odbc_login'], $_GET['odbc_pass'];);
$m = mysql_connect($_GET['mysql_server'], $_GET['mysql_login'], $_GET['mysql_pass'];);

if($t && $m){

if(!mysql_select_db($_GET['mysql_db'];)){
$q = "CREATE DATABASE ".$_GET['mysql_db'];
mysql_query($q);
mysql_select_db($_GET['mysql_db'];);
}

$y = array();
$z = array();
$rt = odbc_columns($t);

while($b = odbc_fetch_array($rt)){
if(strcmp(substr($b['TABLE_NAME'], 0, 4), "MSys";)){
@$y[$b['TABLE_NAME']]++;
@$z[$b['TABLE_NAME']][$y[$b['TABLE_NAME']]] = $b;
}
}

foreach ($z as $x){
$insertscount = 0;

$q = "CREATE TABLE ".$x[1]['TABLE_NAME']." (\n";
echo "<b>".$x[1]['TABLE_NAME']."</b><br />";
$first = 1;
foreach($x as $w){
if(!strcmp($w['TYPE_NAME'], "COUNTER";)) $w['TYPE_NAME'] = "INTEGER";
if(!strcmp($w['TYPE_NAME'], "BIT";)) $w['TYPE_NAME'] = "INTEGER";
if(!strcmp($w['TYPE_NAME'], "LONGCHAR";)){
$w['TYPE_NAME'] = "LONGTEXT";
$q .= ($first?"":", \n";)."\t".$w['COLUMN_NAME']." ".$w['TYPE_NAME'].", \n";
} else{
$q .= ($first?"":", \n";)."\t".$w['COLUMN_NAME']." ".$w['TYPE_NAME'].";(".$w['COLUMN_SIZE'].";)";
}
$first = 0;
}
$q .= "\n);";
echo "<pre>".$q."</pre>";

// А теперь можно и за дело

mysql_query($q);

$q = "SELECT * FROM ".$x[1]['TABLE_NAME'];

echo "<font size=\"1\">";
$rs = odbc_exec($t, $q);
while($a = odbc_fetch_array($rs)){
//foreach($a as $e){
// var_dump($e);
// echo "<br />";
//}


//var_dump($a);

$q = "INSERT INTO ".$x[1]['TABLE_NAME']." (";

unset($v);
unset($vv);
$v = array_keys($a);
$i = 0;
foreach($v as $u){
$i++;
$vv['name'][$i] = $u;
$vv['value'][$i] = $a[$u];
}

$first = 1;
foreach($vv['name'] as $u){
$q .= ($first?"":", ";).$u;
$first = 0;
}

$q .= ";) VALUES (";

$first = 1;
foreach($vv['value'] as $u){
$q .= ($first?"":", ";)."\"".$u."\"";
$first = 0;
}

$q .= ";);";

//echo $q;

mysql_query($q);
$insertscount++;

}

echo "Вставлено ".$insertscount." записей";
echo "</font>";
echo "<hr />";
}

odbc_close($t);
mysql_close($m);

}
}

?>

</body></html>

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам