Я запускаю запрос в студии управления SQL (результаты в сетку), затем выбираю все результаты и копирую их с заголовками. Потом вставляю в 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-сервера?
Я знаю, что это очень старый вопрос, но я случайно столкнулся с той же проблемой только сейчас, и это было из-за символа ". Я просто удалил это в своем запросе с синтаксисом замены, и он сработал. PS Я также удалил все CR LR данные тоже.
(REPLACE (REPLACE (REPLACE (REPLACE (, CHAR (9), ''), CHAR (10), ''), CHAR (13), ''), CHAR (34), ''))
Не нужно ни о чем беспокоиться. Его решение простое, просто не выбирайте все столбцы с помощью *, вам нужно писать имена столбцов ... будь то все столбцы, но вы должны указать имена столбцов в select, тогда это обязательно сработает .. Я протестировал, и он работает просто отлично .. Ура :)