SF_MySQL



  • Название: SF_MySQL.
    Версия: 0.3.
    Данные(последняя версия): SF_MySQL.zip
    Согласие на добавление модуля в BAS: Да.
    Описание:

    • MySQL Запрос - отправляет sql к серверу MySQL
    • MySQL Path - получить path к файлу mysql.exe модуля
    • MySQL Raw в список - преобразует ответ в формат списка
    • MySQL HTML в лог - выводит в лог таблицу ответа

    История версий:

    обвертка для cli вызовов mysql.exe.



  • @tet-vivi said in SF_MySQL:

    Название: SF_MySQL.
    Версия: 0.2.
    Данные(последняя версия): SF_MySQL.zip
    Согласие на добавление модуля в BAS: Да.
    Описание:

    • MySQL Запрос - отправляет sql к серверу MySQL
    • MySQL Path - получить path к файлу mysql.exe модуля
    • MySQL Raw в список - преобразует ответ в формат списка
    • MySQL HTML в лог - выводит в лог таблицу ответа

    История версий:

    обвертка для cli вызовов mysql.exe.
    проверялось на простых запросах.

    Я мельком глянул модуль и хотел бы прокомментировать несколько моментов.

    Изображение модуля в "менеджере модулей" огромное
    25ddd8db-c31c-4425-8174-f17e434b181c-изображение.png

    но это уже косяк "менеджера модулей", потому что размер в svg файле ни как не влияет на размер в окне менеджера

    width="32" height="32"
    

    Модуль называется SF_MySQL, я думаю упоминание об этом можно убрать из названия каждого действия:
    98b4850b-28b5-4dfc-ba44-5cb97a8bb4b0-изображение.png

    в функциях модуля лучше не использовать переменные BAS, так как вне функции они не используются, а перетереть переменную пользователя могут:
    18ab2b24-e12f-428c-8458-5f45a227f854-изображение.png

    a4edb92b-b1e8-44ec-899d-c2e13d74982c-изображение.png

    Ещё аргумент "MySQL_Path" использует команду "cd" для смены текущего каталога:
    c16c4dd9-1317-4756-be8b-87995f778241-изображение.png

    но если каталог будет на другом диске, то такая смена не сработает:
    fcb21204-71b7-44de-b0ae-23b02fb8059b-изображение.png
    нужно переключится на диск перед сменой каталога:
    613903e0-8f3b-4b8a-a530-71eb7c0d00a8-изображение.png

    но самый главный косяк в длине сообщения. В командной строке общая длина команды не может содержать более 8191 либо 2047 знаков (в зависимости от операционной системы):

    @echo off
    chcp 65001
    echo Попробуем вывести сообщение из 8225 символов
    pause 
    echo 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567_этот текст просто обрежится
    pause 
    

    6e759a25-293f-4b60-9902-e126ef2e750e-изображение.png

    7e7b807b-2785-4e54-b705-905d245a3c08-изображение.png

    1.bat

    Что бы этого избежать, нужно делить строки на определённую длину.



  • @Fox
    надо было мне выложить ограничения/недоработки сразу.

    • ограничения длины сообщений в консоли в курсе(значит 8191 и 2047 для х64 и х32 соответственно!? )
    • на примере др. модулей стандарт иконки 32х32
    • названия переменных в формате BAS в коде модуля
    • если убрать упоминание MySQL, кубики станут менее понятны.


  • @tet-vivi said in SF_MySQL:

    @Fox
    надо было мне выложить ограничения/недоработки сразу.

    • ограничения длины сообщений в консоли в курсе(значит 8191 и 2047 для х64 и х32 соответственно!? )

    Думаю достаточно ограничить длину запроса 2000 символами

    • на примере др. модулей стандарт иконки 32х32

    Я указал, что это ошибка "менеджера модулей", так как с иконкой расширением png такой проблемы нет

    • названия переменных в формате BAS в коде модуля

    Лучше использовать локальные переменные, объявленные внутри функции (через var), или добавить приставку SF_MySQL_ к названиям переменных, что бы избежать возможных конфликтов.

    • если убрать упоминание MySQL, кубики станут менее понятны.

    В каждом действии отображается иконка модуля по которой можно быстро определить принадлежность действия
    162d4c42-c0df-4a49-872a-3a4181729c02-изображение.png


    Все мои замечания имеют рекомендательный характер



  • @Fox ограничение длины в консоли линукс я обходил например через вывод в файл.
    надо рассмотреть все варианты



  • @tet-vivi said in SF_MySQL:

    @Fox ограничение длины в консоли линукс я обходил например через вывод в файл.
    надо рассмотреть все варианты

    Я бы предложил использовать C++ библиотеку MySQL для модуля. Такой модуль будет надёжнее и быстрее, плюс его с большей вероятностью добавят в официальную сборку



  • @Fox в планах c/c++ нету.
    можно было бы освоить rust, но под винду он так себе.

    рассматривалось 3 варианта: cli mysql.exe, node.js, rust dll

    https://github.com/bablosoft/BAS/tree/master/Modules - можно посмотреть примеры кода либ применяемых в модулях на c/c++



  • @tet-vivi said in SF_MySQL:

    @Fox в планах c/c++ нету.
    можно было бы освоить rust, но под винду он так себе

    Для использования с++ в модуле достаточно иметь поверхностные знания и сваять на примере уже готовых. Примеры модулей можно посмотреть здесь https://gitlab.com/bablosoft/BASPremium/tree/master/Modules, там половина использует с++



  • @Fox кстати, проблема с path к mysql.exe должна вылезти если используется не из модуля а свой mysql.exe файл лежащий в др. диске.
    базовый диск тот на котором BAS расположен. там же модули.



  • @tet-vivi said in SF_MySQL:

    @Fox кстати, проблема с path к mysql.exe должна вылезти если используется не из модуля а свой mysql.exe файл лежащий в др. диске.
    базовый диск тот на котором BAS расположен. там же модули.

    Ну я это и указал, атрибут "MySQL_Path" используется только в функции SF_MySQL_Execute()
    cdebd8b9-625b-4cf5-b088-b96e0ebede00-изображение.png



  • @Fox команда в cmd

    C:\Users\tet-vivi>F:\3\prog\BrowserAutomationStudio\apps\22.6.9\custom\SF_MySQL\mysql.exe --host=127.0.0.1 --port=3306 --database=user_api --user=root --password= --execute="status;" > F:\3\prog\BrowserAutomationStudio\apps\22.6.9\custom\SF_MySQL\1.txt
    

    нормально работает в консоли, батнике и в BAS.(на windows 10 1809 проверялось)



  • @tet-vivi said in SF_MySQL:

    @Fox команда в cmd

    C:\Users\tet-vivi>F:\3\prog\BrowserAutomationStudio\apps\22.6.9\custom\SF_MySQL\mysql.exe --host=127.0.0.1 --port=3306 --database=user_api --user=root --password= --execute="status;" > F:\3\prog\BrowserAutomationStudio\apps\22.6.9\custom\SF_MySQL\1.txt
    

    нормально работает в консоли, батнике и в BAS.(на windows 10 1809 проверялось)

    Да, при использовании абсолютных путей проблем не будет


Log in to reply