Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
1-1211807607
Jungle
2008-05-26 17:13
2009.08.09
"Правильно" преобразовать тип Variant


2-1244455439
Ольга
2009-06-08 14:03
2009.08.09
Недоступна кнопка "Load Icon" в опциях проекта


15-1244467705
blackman
2009-06-08 17:28
2009.08.09
Дамп MySql в в Access


4-1213710169
JetuS
2008-06-17 17:42
2009.08.09
Получение ID главного потока приложения


1-1211807227
9899100
2008-05-26 17:07
2009.08.09
помогите найти ошибку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский