Форум: "Прочее";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];
ВнизДамп MySql в в Access Найти похожие ветки
← →
blackman © (2009-06-08 17:28) [0]Никто не пробовал грузить? Может компоненты какие-то есть?
Без установки MySql на компе!
← →
blackman © (2009-06-08 22:03) [1]В инете поискал, но все за деньги...
Неужели эту муру придется самому писать? :(
← →
Kerk © (2009-06-08 22:18) [2]Да поставь ты себе mysql и odbc-провайдер под него. И то и то бесплатно. Думаю, уж проблем с перегоном данных из одного ADO-источника в другой не будет.
← →
blackman © (2009-06-09 08:52) [3]Kerk © (08.06.09 22:18) [2]
Не на моей машине. Там нельзя ставить.
← →
Styx_ (2009-06-09 10:57) [4]Дык дамп - это же просто SQL? Типа CREATE TABLE, INSERT INTO... Там могут попадаться специфические для мускуля конструкции, но их любой другой SQL-сервер должен за комментарии счесть.
> Не на моей машине. Там нельзя ставить.
То есть это требуется делать регулярно?
← →
blackman © (2009-06-09 11:35) [5]Styx_ (09.06.09 10:57) [4]
В том-то и дело, что регулярно. А специфические преобразовать в понятные Access. Иначе и вопроса бы не было :)
← →
boriskb © (2009-06-09 11:48) [6]
> blackman ©
А примеры несоответсвия SQL- конструкций можно?
Их много?
← →
Styx_ (2009-06-09 11:56) [7]
> А специфические преобразовать в понятные Access.
А там разве есть что-то, что может быть интересно не-мускулю?
← →
test © (2009-06-09 11:59) [8]boriskb © (09.06.09 11:48) [6]
insert into tab(f1,f2) values(1,2),(3,4),(5,6) и тд, дамп так и выгружается обычно.
← →
palva © (2009-06-09 12:09) [9]
> А примеры несоответсвия SQL- конструкций можно?
Ну например, Insert в MySql поддерживает вставку сразу большого числа записей - полистайте дамп увидите - всего один оператор, а вставляет всю таблицу. А в Access (насколько я знаю) придется на каждую запись писать свой оператор - типа вместо очередной запятой сдублировать текст INSERT INTO ...(...) VALUES Вот это точно вам понадобится переделывать.
Типы данных в таблицах могут быть совсем экзотическими типа множеств и перечислений - имена в этих перечислениях в обычных субд вообще рассматриваются как метаданные. Так что без мозга здесь не обойтись. Но это если такие типы действительно используются.
← →
test © (2009-06-09 12:23) [10]Где то слышал про использование MySQL в виде одной(? или пачки) dll, субд ставить не надо, но управление через сввою прогу.
← →
blackman © (2009-06-09 12:41) [11]Несоответствий море, включая BLOB поля как HEX в текстовом виде...
Я уж не говорю о CREATE TABLE где типы тоже не... И индексы тоже
test © (09.06.09 12:23) [10]
Где такое чудо?
← →
Styx_ (2009-06-09 13:02) [12]
> Где такое чудо?
http://www.mysql.com/products/embedded/
А вообще и обычный MySQL Server ставить-то и не надо - я всегда на флешке с собой таскаю, с консоли запустил - и поехало.
← →
blackman © (2009-06-09 13:33) [13]Styx_ (09.06.09 13:02) [12]
Низя... :) Только из дампа.
← →
Styx_ (2009-06-09 13:38) [14]Дык импортировать дамп в MySQL Embedded, а оттуда уже добывать данные в таком виде, в каком больше нравится.
← →
blackman © (2009-06-09 13:44) [15]Styx_ (09.06.09 13:38) [14]
Не ДЫК! Нет у меня его. Почему и пишу БЕЗ УСТАНОВКИ...
← →
Styx_ (2009-06-09 13:55) [16]
> Нет у меня его
Кого его-то? libmysqld.dll? Оно на то и embedded, что Вы подключаете библиотеку к своей программе и имеете в ней встроенный MySQL Server.
← →
blackman © (2009-06-09 14:25) [17]Styx_ (09.06.09 13:55) [16]
Дампа нет. Он у юзера.
И не имю я права запускать MySQL. Что тут непонятного? В самом начале сказал
← →
Styx_ (2009-06-09 14:28) [18]А свою программу запускать имеете право?
← →
Медвежонок Пятачок © (2009-06-09 14:30) [19]если регулярно, значит база одновляется.
значит где-то точно запущен сам майскл.
← →
blackman © (2009-06-09 15:05) [20]Медвежонок Пятачок © (09.06.09 14:30) [19]
Где-то это точно :)
Но вопрос совсем не в этом.
Надо сделать прогу импортирующую дамп в access и все.
← →
test © (2009-06-09 15:45) [21]blackman © (09.06.09 14:25) [17]
Так его запускать и не надо, к своей проге подключаешь dll и оперируешь своей прогой с дампом, пока в код не полезут или опознают dll, не поймут что там на самом деле sql бд создается перегоняется и уничтожается.
← →
test © (2009-06-09 15:47) [22]Либо парсер писать свой, в ельфях стандартные компонеты код SQL разбирают в них можно посмотреть.
← →
blackman © (2009-06-09 16:21) [23]test © (09.06.09 15:45) [21]
Нет. Слишком большой. Надо сразу в асс...
Какие стандартные для асс...?
Парсю уже :) Куда деваться...
← →
test © (2009-06-09 16:27) [24]test © (09.06.09 15:47) [22]
ельфях == Дельфях
blackman © (09.06.09 16:21) [23]
В любом случае сразу всю память забьеш, посмотри ZeosDBO(sourceforge.net) может у них в парсере MySQL к нормальному виду приводят. Можно будет у них посмотреть принципы разбора MySQL дампа.
← →
blackman © (2009-06-09 17:19) [25]Ничего не забью. Не буду я в память грузить. Zeos тут не... Access не стандартен по SQL
← →
test © (2009-06-09 17:34) [26]blackman © (09.06.09 17:19) [25]
"Access программа для работы с базой Борей" (с)Экслер "Записки жены программиста"
← →
blackman © (2009-06-09 17:46) [27]Экслер ? Этот пишет много, но знает мало :)
← →
Нат © (2009-06-09 21:32) [28]
> А в Access (насколько я знаю) придется на каждую запись
> писать свой оператор
Чушь это. Просто нужен не "Insert ... Value..." а "Insert ... From ...".
Даже поддерживается [IN внешняяБазаДанных]
Достаточно открыть справку по Акцессу.
← →
palva © (2009-06-09 21:56) [29]
> Чушь это
Возможно и чушь. Я и написал "насколько я знаю". Если бы вы написали как это сделать, я бы знал больше. А искать и открывать справку для решения чужих проблем я, естественно, не буду.
← →
test © (2009-06-09 22:27) [30]Нат © (09.06.09 21:32) [28]
Код в студию!
← →
palva © (2009-06-09 22:32) [31]Скорее всего имелось в виду это:
FROM (
SELECT val1, val2
UNION ALL
SELECT val3, val4
...
)
← →
palva © (2009-06-09 22:53) [32]Ну я, конечно, как всегда пишу чушь.
← →
Нат © (2009-06-10 03:17) [33]palva
Вы честно указали "насколько знаю". Именно данное конкретное заблуждение соответственно и было классифицировано.
Что никоим образом не отождествляется с другими Вашими знаниями.
Наверняка и во многом, Ваши знания превосходят мои.
Опять же проблема не Ваша. Не в обиду.
В качестве примера привожу дельфийский код, перегоняющий данные из старой (до сих пор функционирующей базы в другую):strSQL:="INSERT INTO Customers ( CustID, Name, Respondent, "
+ " Departament, Addr, Country, District, City, Index, "
+ " PBox, Tel, Fax, Email, WEB, PersID) IN " + quotedStr(FullName)
+ " SELECT DISTINCTROW Код, Название, Фио, Отдел, "
+ " Адрес, Страна, Область, Город, Индекс, АЯ, Телефон, Факс, "
+ " Email, HTTP, Персонал "
+ " FROM НашиКлиенты";
При выполнении всех подстановок и строковых функций, получится текст запроса, который сработает и в ADOCommand, прямо в Акцессе и при запуске из VBA.
← →
Нат © (2009-06-10 03:18) [34]palva
Вы честно указали "насколько знаю". Именно данное конкретное заблуждение соответственно и было классифицировано.
Что никоим образом не отождествляется с другими Вашими знаниями.
Наверняка и во многом, Ваши знания превосходят мои.
Опять же проблема не Ваша. Не в обиду.
В качестве примера привожу дельфийский код, перегоняющий данные из старой (до сих пор функционирующей базы в другую):strSQL:="INSERT INTO Customers ( CustID, Name, Respondent, "
+ " Departament, Addr, Country, District, City, Index, "
+ " PBox, Tel, Fax, Email, WEB, PersID) IN " + quotedStr(FullName)
+ " SELECT DISTINCTROW Код, Название, Фио, Отдел, "
+ " Адрес, Страна, Область, Город, Индекс, АЯ, Телефон, Факс, "
+ " Email, HTTP, Персонал "
+ " FROM НашиКлиенты";
При выполнении всех подстановок и строковых функций, получится текст запроса, который сработает и в ADOCommand, и прямо в Акцессе, и при запуске из VBA (при наличии базы по пути FullName).
← →
Нат © (2009-06-10 03:27) [35]Прошу модератора удалить лишний пост, а также данный...
← →
test © (2009-06-10 08:37) [36]Нат © (10.06.09 03:18) [34]
Ты скажи как множественный insert выполнить в MsSQL, он выглядит так:
insert into tab(f1,f2)
values (1,2),(3,4),(5,6),(7,8),(9,0)
Проблема в том что MySQL выгружает таблицы именно в этом виде
а про
insert into tab(f1,f2)
select f1,f2 from tab1
все знают.
← →
palva © (2009-06-10 08:50) [37]
> Нат © (10.06.09 03:17) [33]
Пока не вижу, как автор может использовать этот код для загрузки дампа, который состоит из операторов типа, указанного в [8]
Я видел использование кода подобного [31], но это было в MS SQL.
Про аксесс не знаю, и попробовать негде.
← →
blackman © (2009-06-10 09:00) [38]Нат © (09.06.09 21:32) [28]
> А в Access (насколько я знаю) придется на каждую запись
> писать свой оператор
Чушь это. Просто нужен не "Insert ... Value..." а "Insert ... From ...".
Даже поддерживается [IN внешняяБазаДанных]
Достаточно открыть справку по Акцессу.
palva прав. insert с select здесь абсолютно ни при чем. Вы читали, но не поняли о чем речь.
В дампе myaql insert выглядит примерно так
INSERT INTO `catanal` VALUES (98,"текст1","",25),(84,"(текст2 в скобках)","ntrcn3",106),(.....);
Иначе говоря в одном insert несколько записей, что недопускает access.
Но и это не все! Разное определение типов полей и ключей.
← →
blackman © (2009-06-10 11:36) [39]Проверив тщательнее, уточню. Допускает, но необходимы дополнительные скобки, заключающие эти записи в себя.
Мозг сломаешь пока сделаешь соответствие... :(
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.006 c