Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SqlConnection / 8 сообщений из 8, страница 1 из 1
28.07.2010, 10:50
    #36763194
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
есть программа, для обращений к БД ипользую функцию приведённую ниже.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
        private static readonly SqlConnection CnnGlobal = new SqlConnection();

        private static SqlConnection conDB()
        {
            if ((CnnGlobal.State == ConnectionState.Closed) | (CnnGlobal.State == ConnectionState.Broken))
            {
                try
                {

                    CnnGlobal.ConnectionString = (
                                                    "Data Source=" + ServerSql + 
                                                    ";Initial Catalog=" + ServerSqlBase + 
                                                    ";User ID=" + ServerSqlLogin + 
                                                    ";Password=" + ServerSqlPass
                                                );
                    CnnGlobal.Open();
                }
                catch (Exception ex)
                {
                    var frame = new StackFrame(0);
                    const string strAction = "Ошибка";
                    var strParam = ex.Message;
                    ClsMain.log(strAction, strParam, frame.GetMethod().Name, true);
                    return null;
                }
            }
            
            return CnnGlobal;
        }
всё хорошо, кроме - если открыл ридер, то ещё один ридер нельзя открыть используя данный SqlConnection.
вот как эту ситуацию обыграть красиво? (если SqlConnection "занят", то функция должна возвращать новый SqlConnection)
с ув. наутилус
...
Рейтинг: 0 / 0
28.07.2010, 11:15
    #36763277
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
на одной коннекции два ридера не получается. ОТкрывайте еще одну. И как написано в соседней теме - открыл коннект, прочитал, закрыл
...
Рейтинг: 0 / 0
28.07.2010, 11:17
    #36763285
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
Winnipuhна одной коннекции два ридера не получается. ОТкрывайте еще одну. И как написано в соседней теме - открыл коннект, прочитал, закрыл
да я уже понял... открыл-закрыл. ок. щас перепилю.
...
Рейтинг: 0 / 0
28.07.2010, 11:34
    #36763338
netivan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
наутилусWinnipuhна одной коннекции два ридера не получается. ОТкрывайте еще одну. И как написано в соседней теме - открыл коннект, прочитал, закрыл
да я уже понял... открыл-закрыл. ок. щас перепилю.
Код: plaintext
using ( SqlConnection = ...)
...
Рейтинг: 0 / 0
28.07.2010, 11:56
    #36763407
dmitry_shch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
все можно, читайте про марс :) (MARS)
работал в свое время - нормально, проблем не возникает.

надо добавить в строку соединения: MultipleActiveResultSets=True

пример:
http://msdn.microsoft.com/en-us/library/yf1a7f4f(VS.80).aspx
...
Рейтинг: 0 / 0
28.07.2010, 12:10
    #36763454
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
спасибо Winnipuh, за ссылку в другом топике.
http://msdn.microsoft.com/ru-ru/library/8xx3tyca.aspx

вопрос снят )
...
Рейтинг: 0 / 0
28.07.2010, 13:08
    #36763684
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
dmitry_shchвсе можно, читайте про марс :) (MARS)
работал в свое время - нормально, проблем не возникает.

надо добавить в строку соединения: MultipleActiveResultSets=True

пример:
http://msdn.microsoft.com/en-us/library/yf1a7f4f(VS.80).aspx

да, вы правы, марс да.. но вопрос надо ли?
...
Рейтинг: 0 / 0
28.07.2010, 13:34
    #36763797
dmitry_shch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlConnection
а надо ли - зависит от стратегии "управления" сессиями (соединениями)

Модератор: Тема перенесена из форума "WinForms, .Net Framework".
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / SqlConnection / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]