|
|
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Добрый день. Появилась задача выгружать данные из одной базы в другую, для этого пока сделал демку на тестовых БД. Код такой: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. Доступ к базе: Firebird - fib+, mysql - zeos, Delphi 7 классика. при запуске получаю ошибку: --------------------------- Debugger Exception Notification --------------------------- Project Project1.exe raised exception class EZSQLException with message 'SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO table_1(ID,A1,A2,A3) VALUE (3874,4088,3887,3163)' at line 1'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- Что может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 11:31:15 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Gallemar Код: pascal 1. Начни с вынесения из цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 11:43:39 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev, Дмитрий, а как вообще правильно такие запросы выполнять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 11:50:46 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Gallemar, отказаться в циклах вообще от использования XXX. SQL.Add ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 11:59:10 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Кстати, вопрос знатокам DB: стоит ли вообще в таких задачах делать Commit после каждой добавленной строчки или имеет смысл сначала все строки добавить, а потом оптом коммит? Ну или если их многамиллионов(тм) то, скажем, делать коммит после каждых 100к строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 12:57:34 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
В операторе INSERT INTO обычно используется слово VALUES, а не VALUE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 13:02:18 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
alekcvpКстати, вопрос знатокам DB: стоит ли вообще в таких задачах делать Commit после каждой добавленной строчки или имеет смысл сначала все строки добавить, а потом оптом коммит? Ну или если их многамиллионов(тм) то, скажем, делать коммит после каждых 100к строк? Дао: commit надо делать, тогда, когда его надо делать, то есть, когда надо перевести базу из одного согласованного состояния в другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 13:03:35 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
schiДао: commit надо делать, тогда, когда его надо делать, то есть, когда надо перевести базу из одного согласованного состояния в другое. Мир не идеален ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2017, 16:30:37 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Cobalt747Gallemar, отказаться в циклах вообще от использования XXX. SQL.Add А как тогда делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 08:34:31 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
GallemarCobalt747Gallemar, отказаться в циклах вообще от использования XXX. SQL.Add А как тогда делать? Скажи пожалуйста, если цикл будет исполнен 100 раз, сколько операторов INSERT будет в msqr и зачем их там столько? А вообще нужно ли 100 раз подряд менять текст запроса, если он по сути не меняется, но при каждом его изменении автоматом дергается Prepare? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 08:49:30 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Долбанутый прикол Zeos: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 09:18:40 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Крамольный вопрос. А зачем для этого писать на Delphi? У FB есть isql, у mysql всяко должна быть своя утилита. isql-ем генерим SQL-файл, в mysql его исполняем. Вызовы -- обычным BAT-файлом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 09:25:03 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakКрамольный вопрос. А зачем для этого писать на Delphi? У FB есть isql, у mysql всяко должна быть своя утилита. isql-ем генерим SQL-файл, в mysql его исполняем. Вызовы -- обычным BAT-файлом. Это демка, просто для пробы. Процесс гораздо сложнее, на bat сделать можно, но я не мазохист. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 09:35:07 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
авторА вообще нужно ли 100 раз подряд менять текст запроса, если он по сути не меняется, Осталось додумать один шаг до старой как мир оптимизации: Всё, что не меняется в цикле можно и нужно выносить за цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 12:46:35 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Мне казалось правильным выполнить 100500 запросов и потом один общий коммит на все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 13:50:42 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Gallemar, лучше делать коммиты через каждые 1000 записей. https://stackoverflow.com/questions/12986774/run-multiple-insert-queries-against-firebird-database-using-isql можно дополнительно погуглить 'bulk insert firebird' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 14:13:56 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakКрамольный вопрос. А зачем для этого писать на Delphi? У FB есть isql, у mysql всяко должна быть своя утилита. isql-ем генерим SQL-файл, в mysql его исполняем. Вызовы -- обычным BAT-файлом.+много Только через csv/tsv. У MySQL есть утилита mysqlimport и команда LOAD DATA INFILE. Это самый быстрый способ загрузить данные в MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 21:16:36 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
У меня сейчас тодже стоит порцесс миграции. Правда мне не надо решать эту задачу каждый день, мне понравилась программа MySQLStudio. Есть куча вариантов экспорта, соотношений и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2017, 21:43:48 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Валерий666 мне понравилась программа MySQLStudio. Есть куча вариантов экспорта, соотношений и пр. От EMS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2017, 05:55:59 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Правда, это в firedac ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2017, 12:01:33 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Как выполнить такой запрос? Код: sql 1. при выполнении получаю Project Project1.exe raised exception class EZSQLException with message 'SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Селебрейшн','1','0')' at line 1'. Process stopped. Use Step or Run to continue. Как эту кавычку исключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2017, 10:57:56 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Gallemar, Использовать параметры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2017, 11:50:41 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2017, 12:07:33 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
GallemarКак эту кавычку исключить? QuotedStr? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2017, 12:08:40 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
GallemarМожно пример? Ровно тремя постами выше твоего сообщения пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2017, 12:27:47 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
GallemarМожно пример? Плиз. (Ну в смысле pozhalujsta) ;) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 03:39:25 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
ПараметризаторGallemarМожно пример? Плиз. (Ну в смысле pozhalujsta) ;) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Да я уже понял, дзякуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 03:50:22 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Как правильно перенести данные из баз с разными кодировками? Firebird WIN1251 -> mysql UTF8/cp1251, в любом виде получаю сбитую кодировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 06:23:09 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
GallemarКак правильно перенести данные из баз с разными кодировками? Firebird WIN1251 -> mysql UTF8/cp1251, в любом виде получаю сбитую кодировку. Конвертить на клиенте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 06:42:16 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
МБGallemarКак правильно перенести данные из баз с разными кодировками? Firebird WIN1251 -> mysql UTF8/cp1251, в любом виде получаю сбитую кодировку. Конвертить на клиенте? В Delphi 7 это можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 06:48:07 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
В Delphi 7 это можно?[/quot] В поиске D7 : character set convertion. зы : самому не приходилось сталкиваться. Придут аксакалы - поправят, если чо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 06:55:04 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Разобрался TZConnection.AutoEncodeStrings := true; TZConnection.ClientCodepage:='utf8'; спасли отца русской демократии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2017, 08:11:09 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Сегодня поймал непонятный глюк Zeos, не видит параметры: msqr.SQL.Add('INSERT INTO items (id, name, measure, measprec, classif, tax ) VALUES (:id , sname , smeasure , smeasprec , sclassif ,staxhead ) '); msqr.ParamByName('id').Value:= query.FieldByName('articul').AsString; --------------------------- Debugger Exception Notification --------------------------- Project Project1.exe raised exception class EDatabaseError with message 'Parameter 'id' not found'. Process stopped. Use Step or Run to continue. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 09:59:42 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Parameter 'id' not found. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 10:00:59 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Кто Zeos пользуется? Что-то баг на баге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 11:23:01 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Gallemar, ты прав, вот такое оно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 11:47:58 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
С одним вроде разобрался, меняет ошибку на другую при : Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. теперь просто параметры не может правильно принять: --------------------------- Debugger Exception Notification --------------------------- Project Project1.exe raised exception class EZSQLException with message 'SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':id , :name , :measure , :measprec , :classif , :taxhead )' at line 1'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 11:50:21 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Gallemar, Попробуй. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 12:36:00 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
DarkMaster, пробовал msqr.SQL.Add('INSERT INTO items (id, name, measure, measprec, classif, tax ) VALUES (@articul , @name , @measure , @measprec , @classif ,@taxhead ) '); вместо значений стали браться null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 12:37:44 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
GallemarКто Zeos пользуется? Что-то баг на баге У меня в одном небольшом старом проекте есть, использую для переноса данных из ДБФ в MySQL. ZSQLMonitor используете? Он пишет все запросы, которые на сервер посылает. С SELECT-ом и параметрами проблем не было, как и с процедурами. А вместо инсерт у меня по старинке FieldByName и Post. Еще один косяк ZEOSа: если запрос динамический, то что-бы он получил список полей для последующего обращения к ним, нужно открыть таблицу, я использую запрос SELECT * FROM таблица LIMIT 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 13:15:55 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
Близнец1980, ZEOS 7.1.4-stable, DELPHI 7 Проверил на MySQL: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Никаких ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 14:01:40 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
GallemarСегодня поймал непонятный глюк Zeos, не видит параметры: Код: pascal 1. ? GallemarКто Zeos пользуется?Уже нет GallemarЧто-то баг на багеУгу. Я рекомендую достать исходники и смотреть отладчиком что происходит. Кучу вопросов можно решить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 15:28:22 |
|
||
|
Перенос данных из Firebird в MySQL
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_GallemarСегодня поймал непонятный глюк Zeos, не видит параметры:[src delphi] ZQuery1.ParamCheck := True; упс msqr:= TZQuery.Create(nil); msqr.Connection:=msdb; msqr.ParamCheck:=false; query.SQL.Clear; не помню, для чего в false выставил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2017, 03:28:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2041615]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 539ms |

| 0 / 0 |
