MySQL -> MS Access file once

webxtor

Новичок
MySQL -> MS Access file once

Я сграбил один сайт на 12,000 MySQL записей касательно выствок.

Вышло 3 таблицы:
-выставки (дата проведения, название)
-компании
-категории товаров

Но заказчику нужно смотреть это в MS Access! Весь инет перерыл.. ничего нет! Только проги какие-то типа конверторы, а мне нужно сконвертить прямо на сервере, безовсяких там odbc_connect!

Просто, как мне создать файл который бы смог прочитать Access и связать эти таблицы, чтобы заказчик смог увидеть какая компания на какой выставке бывала и какую продукцию предоставляла.

Спасибо!!
 

webxtor

Новичок
Да вот дело в том, что нужна связь между таблицами...

Но за ссылку спасибо! Excel тоже пригодится для других проектов..

-~{}~ 30.01.05 01:07:

Ну неужели никто не знает? Я нашел вот описание .mdb формата http://www.xiph.org/positron/doc/mdb.html Но что-то мутно там..

На Pear я забил.. сильно намучено там! Еще сам Pear ставь, а потом только этот пакет.. Ведь в Excel можно просто формате CSV выдать и будет тоже самое! Пока так и сделал...

Но все же, как мне порядочный .mdb сгенерировать аааааа? :mad:
 

Vladson

Сильнобухер
Тут надо конвертор (точнее перегонщик) писать MySQL=>MS-Access так как через CSV и MDB можно сильно подпортить структуру таблиц и типы данных

Я для себя делал, но потерял скрипт (точнее стёр за ненадобностью) в принципе ничего сложного, главное знать что во что перегонять
 

webxtor

Новичок
Блин! Зачем же удалять!! Скрипты ведь масенькие такие! :rolleyes:

А я бы сделал конечно, да вот не знаю где найти описание структуры таблиц в *.mdb файлах... где какие таблицы, как их связать.. не подскажешь как это сделать? Нужно сделать таблицы выставок, продуктов и категорий и связать их ясное дело как... :confused:
 

Vladson

Сильнобухер
Я сам жалею что стёр, недавно понадобилось опять но структура базы была простенькая и пришлось мудрить по кустарному варианту

Самый простой вариант это сделать дамп MySQL (PhpMyAdmin) синтаксис комманды INSERT INTO у этих типов баз одинаковый в блакноте отредактировать синтаксис (точнее её параметры типа intsmall, text итд) в СREATE TABLE и залить при помощи простенького скриптика, думаю его может написать даже начинающий, (я же написал :D ) поэтому тут его не привожу
 

webxtor

Новичок
Хм.. что-то я не пойму... разве дамп из MySQL подойдет для Access?

-~{}~ 10.02.05 11:48:

Как отредактировать, по-подробней пжлста!? А на счет операций с текстом (парсинг) - я тут не навичек :-D
 

si

Administrator
ставим ODBC драйверы для MySQL, в MS Access делаем Import таблиц через ODBC
 

si

Administrator
webxtor
на какой такой сервер ? у вас access на сервере работает ?
 

webxtor

Новичок
Access работает на компьютере у заказчика. На сервере работает PHP+MySQL
 

si

Administrator
для тех кто в танке повторю:
ODBC ставится на машину с ms access
при помощи ODBC из MS Access можно обратится к MySQL и сделать Import
 

webxtor

Новичок
Имеется в виду обратится к MySQL удаленно? Но на это ведь нужны привелегии. И это небезопасно.. нужно говорить логин и пароль подключения к базе выходит.. других решений нет?
 

webxtor

Новичок
Да я не против написать конвертор!!! Но как это сделать на стороне сервера?
 

yugene

Отошел от дел
Originally posted by webxtor
Да я не против написать конвертор!!! Но как это сделать на стороне сервера?
Думаю, проще это сделать на стороне клиента. В том же Access'е.
 

Vladson

Сильнобухер
Нет, достаточно взять дамп из PhpMyAdmin
отредактировать то что их отличает, и залить через скрипт

PHP:
<?php
$link = odbc_connect("localhost", "", "");
$query = "CREATE TABLE guestbook (
guest_date text(16) NOT NULL,
guest_name text(16) NOT NULL,
guest_text text(255) NOT NULL,
guest_ip text(16) NOT NULL
);";
$result = odbc_exec($link, $query);
odbc_close($link);
Это образно говоря
 

yugene

Отошел от дел
Originally posted by Vladson
Нет, достаточно взять дамп из PhpMyAdmin
отредактировать то что их отличает, и залить через скрипт

PHP:
<?php
$link = odbc_connect("localhost", "", "");
$query = "CREATE TABLE guestbook (
guest_date text(16) NOT NULL,
guest_name text(16) NOT NULL,
guest_text text(255) NOT NULL,
guest_ip text(16) NOT NULL
);";
$result = odbc_exec($link, $query);
odbc_close($link);
Это образно говоря
Originally posted by webxtor
Да вот дело в том, что нужна связь между таблицами...
А это как?
 
Сверху