Просмотрите весь текст столбца типа ntext в Studio управления SQL Server для базы данных SQL CE

тем, кто думает, распределенные системы не позволяют авторитетные копии обратите внимание на то, что существует много мест, где распределенные системы имеют авторитетные копии, идеальным примером является, вероятно, дерево ядра Linus. Уверенный у большого количества людей есть их собственные деревья, но почти все они текут к дереву Linus.

, Который сказал, что я использую, чтобы думать, что распределил SCM's, были только полезны для большого количества разработчиков, делающих разные вещи, но недавно решили, что что-либо, централизованный репозиторий может сделать распределенный, может добиться большего успеха.

, Например, скажите, что Вы - сольный разработчик, работающий над Вашим собственным персональным проектом. Централизованный репозиторий мог бы быть очевидным выбором, но рассмотреть этот сценарий. Вы вдали от доступа к сети (на плоскости, в парке, и т.д.) и хотите работать над своим проектом. У Вас есть своя локальная копия, таким образом, можно сделать, хорошо работают, но Вы действительно хотите фиксировать, потому что Вы закончили одну функцию и хотите идти дальше другому, или Вы нашли, что ошибка зафиксировала или что бы то ни было. Дело в том, что с централизованным repo Вы заканчиваете или делающий пюре из всех изменений вместе и фиксирующий их в нелогическом changeset, или Вы вручную разделяете их позже.

С распределенным repo Вы идете на обычный бизнес, фиксацию, движение, когда у Вас есть доступ к сети снова, Вы продвигаете к своему "одному истинному repo", и ничто не изменилось.

Не говоря уже о другой хорошей вещи о распределенном repos: полная история, доступная всегда. Необходимо ли посмотреть на журналы пересмотра когда далеко от сети? Необходимо ли аннотировать источник, чтобы видеть, как ошибка была представлена? Все возможные с распределенным repos.

не полагайте, что распределенный по сравнению с централизованным о владении или авторитетных копиях или чем-либо как этот. Действительность распределяется, следующий шаг в эволюции SCM's.

6
задан Jon Seigel 23 May 2010 в 02:08
поделиться

3 ответа

Если вы работаете с CE 3.5, поддерживающим TOP и OUTER APPLY , попробуйте следующий оператор:

SELECT texts.id, SUBSTRING(texts.text_column, number*100+1, 100)
FROM 
    (SELECT texts.id, texts.text_column, (99+LEN(texts.text_column))/100 AS l 
     FROM texts) AS texts
OUTER APPLY 
    (SELECT TOP(l) number 
     FROM master.dbo.spt_values val 
     WHERE name IS NULL 
     ORDER BY number) n

100 (и 99) - это длина текста, которую я использовал для тестирования в моем данные.

3
ответ дан 17 December 2019 в 07:05
поделиться

Согласно этому http://msdn.microsoft.com/en-us/library/ms171931.aspx вам не повезло с использованием типа XML в SQL CE . Его просто не существует. Вы по-прежнему получаете ntext-поле BLOB размером 2 ГБ, но это не помогает.

select ... поскольку xml работает в запросе ce, но похоже, что Grid по-прежнему усекает его как ntext. Чтобы проверить, создайте таблицу с именем Test с символом как nvarchar (4000) и текстом как ntext-полями. Используйте следующие операторы, чтобы заполнить данные и вернуть их:

select char, text from test as xml

insert into test (char, text) values ​​(replicate ('A', 4000), replicate ('b', 4000) + replicate ('B', 4000))

Я получаю усечение обоих полей примерно в одном и том же месте в режиме сетки, что предполагает усечение намного меньше 65535. Удаление как xml имеет нет эффекта, так что это не так На самом деле t в любом случае переходит к данным XML.

Ваши ответы:

  1. Вам не разрешено приведение типов, но преобразование допустимо. Проблема: в движке нет типа xml. Возможный долгий обходной путь: скопируйте данные во временную базу данных SQL Express или иначе получите правильный тип. Это немалый подвиг, если вы не справитесь с накладными расходами.
  2. SSMS становится расширяемой, но я бы сказал, что это не для начинающих. Это .NET-приложение, и его можно просмотреть в Reflector, но это мало что предлагает.
  3. К сожалению, это худший вариант, который кажется самым простым с точки зрения SSMS. Вам по-прежнему нужно автоматически изменять размер каждого столбца, но, надеюсь, вы не разбиваете его более чем на 2-3.

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

0
ответ дан 17 December 2019 в 07:05
поделиться

Это может быть не идеально, но можно ли разбить его при просмотре в текстовом режиме?

Например:

SELECT
     SUBSTRING(my_text, 1, 8000),
     SUBSTRING(my_text, 8001, 8000)
FROM
     dbo.My_Table

Он работает как есть в SQL 2008. Для 2005 вы может потребоваться выполнить CAST для VARCHAR (MAX), и я не уверен, будет ли это работать должным образом или нет.

Я только что придумал следующий запрос в 2008 году (я не есть версия CE под рукой), и она хорошо работала для практически неизвестной длины текста (ограничение в 800000 символов, я думаю, что вы, вероятно, не захотите просто отображать). Фрагменты выводятся как отдельные строки, поэтому в середине текста может быть возврат каретки. Не знаю, проблема в этом или нет.

;WITH my_cte AS
(
    SELECT
        SUBSTRING(my_text, 1, 8000) AS sub,
        SUBSTRING(my_text, 8001, LEN(CAST(my_text AS VARCHAR(MAX)))) AS remainder
    FROM
        dbo.Test_Text
    UNION ALL
    SELECT
        SUBSTRING(remainder, 1, 8000),
        SUBSTRING(remainder, 8001, LEN(remainder))
    FROM
        my_cte
    WHERE
        LEN(remainder) > 0
)
SELECT
    *
FROM
    my_cte
1
ответ дан 17 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

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