длина данных сервера sql [дубликат]

Вы должны вызвать функцию DoEvents-Function в цикле, чтобы передать управление операционной системе для перерисовки вашего GUI-интерфейса и для обработки любых других оконных сообщений, которые могут потребовать обработки. При этом приложение не будет помечено как «Не отвечает» в диспетчере задач и в строке заголовка.

Do Until rs.EOF = True
  [...]
  rs.MoveNext
  DoEvents
Loop  

Существует небольшая компромиссная производительность. Если не вызывать DoEvents, общее время выполнения для цикла будет немного короче, но Access ничего не сделает, а затем обработает ваш цикл. Поэтому кажется, что он не отвечает.

27
задан GEOCHET 26 September 2008 в 17:55
поделиться

7 ответов

В SQL 2005 и выше VARCHAR (MAX) действительно является предпочтительным методом. Тип TEXT по-прежнему доступен, но в первую очередь для обратной совместимости с SQL 2000 и ниже.

47
ответ дан John Rudy 19 August 2018 в 05:09
поделиться

В соответствии с найденным здесь здесь , varbinary (max) - это путь. Вы сможете хранить приблизительно 2 ГБ данных.

2
ответ дан Huuuze 19 August 2018 в 05:09
поделиться

Varchar (max) доступен только в SQL 2005 или более поздней версии. Это будет хранить до 2 ГБ и может рассматриваться как обычный varchar. Перед SQL 2005 используйте тип «text».

2
ответ дан Instantsoup 19 August 2018 в 05:09
поделиться

Разделите текст на куски, которые может обрабатывать ваша база данных. И, поместите разделенный текст в другую таблицу. Используйте id из таблицы text_chunk как text_chunk_id в исходной таблице. Возможно, вам понадобится еще один столбец в вашей таблице, чтобы сохранить текст, который соответствует вашему самому большому типу текстовых данных.

CREATE TABLE text_chunk (
     id NUMBER,
     chunk_sequence NUMBER,
     text BIGTEXT)
2
ответ дан Mark Stock 19 August 2018 в 05:09
поделиться
  • 1
    Это кажется очень тяжелым весом; некоторый контекст относительно того, когда этот метод необходим или соответствующий vs nvarchar, и какие издержки / выгоды будут улучшать качество ашнер. – SAJ14SAJ 26 April 2013 в 13:49

В BLOB

BLOB - это очень большие переменные двоичные или символьные данные, обычно документы (.txt, .doc) и изображения (.jpeg, .gif, .bmp), которые могут быть сохранены в базы данных. В SQL Server BLOB могут быть текстовыми, ntext или типами данных изображения, вы можете использовать текстовый тип

text

Неравномерные данные переменной длины, хранящиеся на кодовой странице сервера, с максимальной длиной 231 - 1 (2 147 483 647) символов.

2
ответ дан Paul Whelan 19 August 2018 в 05:09
поделиться

Используйте nvarchar(max), чтобы сохранить цепочку сообщений чата в одной записи. Каждое отдельное текстовое сообщение (или блок) идентифицируется в тексте содержимого путем вставки маркеров.

Пример:

{{UserId: Date and time}}<Chat Text>. 

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

0
ответ дан Stephen Rauch 19 August 2018 в 05:09
поделиться

Мне нравится использовать VARCHAR (MAX) (или фактически NVARCHAR), потому что он работает как стандартное поле VARCHAR. Поскольку это введение, я использую его, а не поля TEXT, когда это возможно.

10
ответ дан Stephen Wrighton 19 August 2018 в 05:09
поделиться
  • 1
    Очень хороший момент о NVARCHAR; мой плохой - я должен был упомянуть об этом. – John Rudy 26 September 2008 в 17:36
Другие вопросы по тегам:

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