Страница: 1 |
Страница: 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-сайт:
Профиль | | #6
Добавлено: 07.12.05 21:05
Когда мне надо было перегнать БД информера по LineAge2 из mdb в MySQL, я написал простой скрипт на PHP:
<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>