Member 11040029 Ответов: 1

Какую базу данных следует учитывать для транзакционных функций


Я разрабатываю бухгалтерское программное обеспечение для бизнеса. Сначала я думал, что планирую использовать MySql в качестве бэкенда. Но после нескольких дней работы я обнаружил, что действительно трудно иметь дело с MySql для транзакций.

MySQL connector для Ado.net не очень хорошо реализовано для этой цели (как я вижу, личный опыт). У них даже нет функции, чтобы включить или выключить автокоммит. И это самый большой недостаток, который я вижу. Вы должны запустить транзакцию в самом запросе, чтобы отключить автокоммит для транзакций вместо обработки транзакций из frontend.

Это становится для меня накладными расходами.

Я использовал MySql, так как он является открытым исходным кодом, и у меня был хороший опыт работы с ним.

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

Что я уже пробовал:

Попробовал погуглить хороший пост, но так и не нашел.

1 Ответов

Рейтинг:
8

Foothill

Я немного предвзят, но я бы предложил заглянуть в SQL Server.


  1. Серверные издания от бесплатных до всех наворотов
  2. Полная поддержка транзакций
  3. Полный.Поддержка сетевых библиотек
  4. Производительность версии 2016 года находится на одном уровне с Oracle
  5. С T-SQL работать проще чистое мнение

Пример использования транзакций с SQL Server и .Net
SqlConnection conn = new SqlConnection(_connectionString);
try
{
conn.Open();
SqlTransaction trans = conn.BeginTransaction(); // BEGIN TRANSACTION
SqlCommand = new SqlCommand() { Connectin = conn, CommandType = SqlCommandType.StoredProcedure };
// assign command parameters and execute the statement....
trans.Commit(); // COMMIT TRANSACTION
}
catch(SqlException)
{
 trans.Rollback(); //ROLLBACK TRANSACTION
}


Member 11040029

да, sql server был бы хорошим выбором для предгорья. Мне все еще интересно узнать, чего не хватает для mysql в .net..если у вас есть какие-то идеи?

Foothill

Прямая поддержка от Microsoft. Вся остальная поддержка баз данных осуществляется либо через общие вызовы ODBC, либо через их собственную пользовательскую библиотеку баз данных (например, Oracle.ManagedDataAccess, чтобы назвать один из них).

Member 11040029

УР правый предгорье..но мне нужны более удовлетворительные ответы на этот пост..если вы можете помочь мне с этим немного больше

Foothill

Я могу попробовать. Какую конкретную информацию вы ищете?

Member 11040029

на самом деле в mysql уже проделана большая работа..Я имею в виду, что создаются таблицы, процедуры и т. д. Любой хороший способ экспортировать все это в sql server..или любой хороший подход для транзакций mysql в .net?

Foothill

Я не знаю ничего заранее построенного для клонирования базы данных MySql на SQL Server.
Если вы хотите попробовать транзакции в MySQL, прочтите следующее: http://www.codeproject.com/Articles/6721/Transactions-locking-and-table-releasing-with-MySQ
Это выглядит сложно, но выполнимо.