|
|
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Встал насущный вопрос по переводу действующей программы с хранением на MS SQL на MySQL. Поковыряв интернет, удалось загрузить таблицы, обратиться к БД и прочитать. Но возникают проблемы с insert'ом и update'ом (некоторыми) и переносом хранимок. Отсюда три вопроса: 1. Чем можно отслеживать какие запросы не отрабатываются и в чем ошибки? (в MS SQL это делал при помощи профайлера, тут попробовал dbForge, но он отслеживает только свои запросы) 2. Есть хранимка: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Попробовал её переделать под mySQL: Код: sql 1. 2. 3. 4. 5. 6. Что не так с конструкцией IF..THEN..ELSE?? 3. И третий вопрос: в MS SQL результатом выполнения хранимки идет таблица, нигде в описаловках про MySQL такого не нашел, возможно ли вернуть таблицу из хранимки? Если где то уже есть более менее развернутые ответы на мои вопросы - прошу указывать ссылку, т.к. я ничего не нашел. P.S. Сама программа написана на Visual FoxPro 7.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 10:16:17 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
bogikЧем можно отслеживать какие запросы не отрабатываются и в чем ошибки?В первую очередь обработкой ошибок в приложении. Еще можно посмотреть на логи и, возможно, MySQL Proxy . bogikЧто не так с конструкцией IF..THEN..ELSE??А что с ней не так? На первый взгляд ошибки не вижу. bogikвозможно ли вернуть таблицу из хранимки?Только если хранимка вызывается из клиента. Если из другой хранимки или SQL-запроса, то уже нет. bogikпрошу указывать ссылку, т.к. я ничего не нашел.На всякий случай - у MySQL весьма неплохая официальная документация . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 10:31:52 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
Спасибо за ссылки, попробую. а вот по поводу конструкции - я тоже ошибок не вижу, но тем не менее ругается на синтаксическую ошибку и предлагает искать вручную.(если получится приложу текст) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 10:44:27 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
bogik, Что-то не так с вашей ошибкой. Она ругается на двойную кавычку, а ее нет в показанном коде. Попробуйте создать эту процедуру в консольном клиенте mysql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 10:50:15 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
Увы, та же беда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 10:57:41 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
bogikУвы, та же беда.Совсем не та же. Тут все понятно. Как минимум, нужен BEGIN/END и DELIMITER. См. CREATE PROCEDURE and CREATE FUNCTION Syntax . Нужен ли DELIMITER в вашем GUI-клиенте - понятия не имею, попробуйте или смотрите в его доке. BEGIN/END нужен в любром случае, т.к. в процедуре более одного оператора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 11:02:47 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
bogik2. Есть хранимка: ... Попробовал её переделать под mySQL: Если ты ГАРАНТИРУЕШЬ, что, кроме указанных значений, не будешь передавать процедуре никакую постороннюю хню - используй prepared statement. Хотя мне лично обновление ВСЕХ записей таблицы не сказать чтобы нравится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 11:39:56 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
AkinaЕсли ты ГАРАНТИРУЕШЬ, что, кроме указанных значений, не будешь передавать процедуре никакую постороннюю хню - используй prepared statement.А смысл? Зачем завязываться на такую гарантию, если от этого нет пользы? AkinaХотя мне лично обновление ВСЕХ записей таблицы не сказать чтобы нравится...Как я понял, это просто тестовые эксперименты по освоению синтаксиса, так что пока не страшно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 11:44:40 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
Итак, процедурку создать удалось, как оказалось в консоли не хватало delimiter, а в GUI просто BEGIN/END не хватало. Cпасибо за подсказку, теперь остается вопрос как их увязать с фоксом, ибо возврат переменной не понимает фокс, возврат таблицы не хочет делать MySQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 11:57:22 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
bogikвозврат таблицы не хочет делать MySQLПочему не хочет? Если процедура вызывается непосредственно с клиента, то должно работать, по идее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 12:11:07 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
По факту и работает, но выдает такую ошибку. хотя курсор появляется и со свежими результатами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 12:24:02 |
|
||
|
Из MS SQL в MySQL
|
|||
|---|---|---|---|
|
#18+
bogikкурсор появляется и со свежими результатами. Т.е. реально данные читаются, а мешает только сообщение об ошибке? Может, его как-то можно заглушить или обработать самостоятельно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 12:26:26 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38956234&tid=1833215]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
20ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 301ms |

| 0 / 0 |
