|
|
|
Перенос данных из 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 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39530162&tid=2041615]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
203ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 587ms |

| 0 / 0 |
