Странная ошибка при копировании из sql server management studio в windows 7 [закрыто]

Я запускаю запрос в SQL Management Studio (результаты в сетку), затем выбираю все результаты и копирую их с заголовками. Потом вставляю в Excel.

Результат: две конкретные записи помещаются в одну строку в Excel.

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

Я запускаю Management Studio 2008 на машине с Windows 7, подключенной к SQL Server 2000, работающей на сервере Windows 2003. Я пробовал копировать как в Excel 2003, так и в Excel 2007, и это происходит в обоих случаях.

Похоже, это как-то связано с двойными кавычками. Четвертое поле (типа varchar (50)) имеет двойные кавычки для обеих строк (и многих других), но это не первый и не последний символ. Шестое поле (типа varchar (1000)) в первой из двух записей имеет двойные кавычки в качестве первого символа. Четвертое поле первой записи появляется нормально. Все поля от шестого поля первой записи до (включительно) четвертого поля второй записи отображаются в одной и той же ячейке в Excel. Но двойные кавычки в конце шестого поля первой записи и четвертого поля второй записи удаляются.Символы после двойных кавычек в четвертом поле второй записи остаются в той же ячейке. Остальные поля второй записи появляются в последовательных столбцах Excel.

При вставке в блокнот данные отображаются нормально.

Я не могу назвать точные данные, но они имеют примерно следующий вид:

    float   varchar(50) varchar(50) varchar(50) datetime    varchar(50) varchar(1000)   varchar(50)
    1.1 text    text    text"text   2012-01-01 00:00:00.000 text    "text   text
    1.1 text    text    text"text   2012-01-01 00:00:00.000 text    text    text

Кто-нибудь сталкивался с этой ошибкой раньше? Какое приложение вызывает нарушение? SQL Server Management Studio 2008, Windows 7, обе версии Excel, sql server 2000, Windows 2003? Если это SQL-сервер, происходит ли это внутри SQL-сервера?

4
задан 27 January 2012 в 10:04
2 ответа

Я знаю, что это очень старый вопрос, но я только что столкнулся с той же проблемой, и это было из-за символа ". Я просто удалил это в своем запросе с помощью синтаксиса замены и это сработало. PS Я также удалил все данные CR LR.

(REPLACE (REPLACE (REPLACE (REPLACE (, CHAR (9), ''), CHAR (10), ''), CHAR (13), ''), CHAR (34), ''))

1
ответ дан 3 December 2019 в 04:32

Не нужно ни о чем беспокоиться. Его решение простое, просто не выбирайте все столбцы с помощью *, вам нужно писать имена столбцов ... будь то все столбцы, но вы должны указать имена столбцов в select, тогда это обязательно сработает .. Я тестировал, и он работает просто отлично .. Приветствую :)

-1
ответ дан 3 December 2019 в 04:32

Теги

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