@mixailkornia2

MSSQL and mysql в чем отличие?

Есть софт работает через базы данных MSSQL.
Но это такое убожество что я толком ничерта не понимаю, постаянно вылезает куча ошибок, с подключение с выдачей прав юзерам с созданием юзера и т.д
Сейчас уже нет сил это терпеть.
Есть юзер sa ему надо выдать рпава на доступ к импортированной бд, как то мне удалось это зделать, но вот сейчас опять бьюсь об стол что ему нужно.
Не удалось выполнить действие "Создать" для следующего объекта: "Пользователь", "sa". (Microsoft.SqlServer.Smo) 15405


Вопрос такой, отличаются ли запросы sql MSSQL от Mysql.
На программном уровне?
И возможно ли сменить БД без нарушения функциональности софта.
  • Вопрос задан
  • 1475 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akina
Сетевой и системный админ, SQL-программист.
Но это такое убожество что я толком ничерта не понимаю

Не надо путать причину и следствие. Причина - это что ты ни хрена не понимаешь. А следствие - оно тебе кажется убожеством.
offtop
В скобках отмечу, что если ты не только ни хрена не понимаешь, но и жалуешься на это, и считаешь это достаточным обоснованием того, чтобы назвать убожеством - то ты и не хочешь понимать, и не пытаешься понять. В смысле не пытаешься по-настоящему, прочтение пары страниц из мануала под этот термин не проходит.


отличаются ли запросы sql MSSQL от Mysql

Да. Точнее, самые простейшие базовые запросы могут выглядеть одинаково. Но не более, чуть только хоть какая-то сложность, и одинаковость заканчивается. Синтаксис различается, и весьма сильно. А кое-где даже подходы к решению задачи различаются, и код с одной СУБД на другую не адаптируется совсем - только полное переписывание.

возможно ли сменить БД без нарушения функциональности софта.

Если запросы хардкодом - крайне маловероятно. Если тексты запросов - ресурс, вероятность несколько выше. Если вся лигика находится на сервере, общение с ним выполняется исключительно обращением к представлениям и вызовом процедур, а само приложение является чистым интерфейсом - скорее всего возможно.
Ответ написан
Комментировать
@Miron11
Пишу sql 20 лет. Срок :)
Не удалось выполнить действие "Создать" для следующего объекта: "Пользователь", "sa".
---
И чем вас это обеспокоило? Пользователь sa уже создан, ошибка в данном случае вполне может быть проигнорирована.
---
Есть наверное различные пакеты для трансляции MSSQL Server -> MySQL. запрос в Яндексе "migration from sql server to my sql" третьей линией привел сюда.
По опыту, на поверхности, многое действительно поддается трансляции, но процедуры и функции, нет.
Но чуть от поверхности, MySQL уступает в плане отладки и выявления ошибок. А проблемы с правами пользователей мало отличаются. Попытка создать пользователя, который уже есть приведет к той же ошибке и в MySQL.
Есть конечно возможности отладить код создающий объекты, применяя "IF NOT EXIST" выражение. Профессионалы используют два подхода для кода создающего объекты.
Подход №1 - фирменный подход специалистов, проверять существование объекта, прежде чем его создать.
Людям свойственно это делать, чтобы обеспечить наименьшие трения с чтением и пониманием ошибок. В этом случае детальное чтение ошибок необходимо для выявления дефектов.
Такой код удобен тем, что его можно повторять снова и снова, результат будет всегда один и тот же, а ошибки будут выданы только в случае дефекта, или записи будут чистыми.
Подход №2 - обычно используют создатели по, которое пишет скрипт "создать такой-то объект", с оглядкой на профессионального пользователя, который ( как считают создатели по ) достаточно знаком и с синтаксисом, и с важностью тех или иных сообщений, и сможет прочитать "с листа" записи машины, и справиться с выдачей решения "все хорошо" или "что-то сломалось" благодаря накопленным знаниям.
У меня сложилось впечатление, что Вы работаете с кодом, созданным в подходе №2. Возможно если Вы прибавите детали, и опишете что Вы делаете, отвечающим на вопрос будет проще справиться с ответом.
Всего хорошего
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы