Действительно Заканчивается Используя близко открыть SQL Connection

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

Я рекомендую вам:

  1. Сделать внешнюю таблицу (если вы определяете ее как внешнюю таблицу). В этом случае вы можете отказаться от таблицы, не удаляя данные в каталогах.
  2. Отбросьте таблицу.
  3. Создайте снова таблицу с новой схемой (значение раздела как строка).

Вышеупомянутые шаги, физически (папки структуры), не будут иметь никакого отношения к структуре, которую вы уже имели. Разница будет в метафоре «Улья», особенно в «виртуальном столбце», создаваемом при создании разделов.

Кроме того, теперь вместо этого делать запросы наподобие: part_col = 1, теперь вы сможете сделать запросы вроде: part_col = '1'.

Попробуйте это и расскажите мне, как это происходит.

64
задан ConcernedOfTunbridgeWells 17 December 2008 в 22:21
поделиться

4 ответа

Выход из блока использования называет.Dispose () на рассматриваемом объекте (cn в Вашем примере), который для SqlConnection закроет соединение и любые открытые ресурсы.

96
ответ дан matt b 7 November 2019 в 12:03
поделиться

В то время как SQL Располагает метод, действительно закрывает соединение (в конечном счете согласно смелости), необходимо оставить вызов для Закрытия там. Причина состоит в том, что Вы полагались бы на конкретную реализацию, Располагают для вызова близко. Также наблюдение Открытого без Завершения похоже на наблюдение Нового без Удаления для тех из нас, которые запрограммировали на неуправляемых языках. Это - запах кода для меня.

4
ответ дан Bryan Anderson 7 November 2019 в 12:03
поделиться

Более точно вызов Располагает или Близко отметит базовое физическое соединение как "Не используемый" - но действительно не закрывает его. "Не используемое" соединение, которое физически еще не закрывается, таким образом доступно для объединения. Поэтому - вызов Располагает, возвратил бы соединение с пулом соединения.

31
ответ дан Darin Dimitrov 7 November 2019 в 12:03
поделиться

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

Try
    SqlConnection cn as new system.data.sqlclient.sqlconnection()
    cn.open
    '{do a bunch of other stuff with commands and datareaders here}
    cn.close 'Do I need this?
Finally
    cn.Dispose()
End Try

, Располагают, как, предполагается, заботится обо всей очистке ресурса, в случае соединений, это закроет его.

1
ответ дан Matt Briggs 7 November 2019 в 12:03
поделиться
Другие вопросы по тегам:

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