MARS для MySQL в C # - PullRequest
       5

MARS для MySQL в C #

2 голосов
/ 16 января 2010

Сегодня я реализовал неприятный хак в своем коде, где каждый запрос к базе данных открывает свое собственное соединение из-за того, что я не мог найти способ включить MARS (несколько активных наборов записей ) при связи с базой данных MySQL.

В моей программе на C # я выполняю много параллельной работы, что не является проблемой в отношении баз данных, таких как MSSQL 2005 и 2008 (добавление; MultipleActiveResultSets = true для вашей строки подключения) и SQLite (поддерживает это "из коробки" ") и вы можете извлечь два набора данных из базы данных одновременно.

Вещи, которые я знаю: открывать соединение с базой данных дорого, и я хотел бы свести их к минимуму.

Есть предложения?

Ответы [ 4 ]

1 голос
/ 16 января 2010

Посмотрите в документации MySQL параметры строки подключения (без MAR) -

http://dev.mysql.com/doc/refman/5.5/en/connector-net-connection-options.html

Вещи, которые я знаю: открывать соединение с базой данных дорого, и я хотел бы свести их к минимуму.

Полностью используйте пул соединений! (просто убедитесь, что вы используете одну и ту же строку подключения каждый раз).

0 голосов
/ 13 октября 2014

Mysql не поддерживает MARS, вместо этого вам нужно сохранить данные и закрыть ридер или использовать другое соединение для нового ридера.

0 голосов
/ 16 января 2010

Есть предложения?

Я не знаю, действительно ли нет способа включить MARS с MySQL, но если это правильно, то мое лучшее предложение - реализовать пул соединений.

0 голосов
/ 16 января 2010

Возможно, лучший способ справиться с этим типом сценария - внедрить эту параллельную обработку данных в вашу базу данных, используя процедуру хранения или курсор, чтобы вам не приходилось иметь дело с очень специфической функцией базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...