2010-04-06 2 views
3

Я пытаюсь импортировать журналы IIS в SQL Server 2008. Я получаю эту ошибку ниже.Импорт журнала IIS в ошибку SQL Server 2008

Ошибка 0xc02020a1: поток данных Задача 1: Ошибка преобразования данных. Данные преобразование для столбца «cs (User-Agent)» возвращенное значение статуса 4 и статус текст «Текст был усечен или один или больше символов не совпало на странице целевого кода ». (SQL Server Мастер импорта и экспорта)

Я попытался изменить ширину столбца пользовательского агента к VARCHAR (8000) и NVARCHAR (4000) не повезло. Просьба помочь

-Vivek

+2

любого шанса является вы импортируете данные для специального анализа? Вы можете рассмотреть инструмент под названием Log Parser - он позволяет выполнять SQL-подобные запросы против набора файлов журнала IIS. – Mayo

ответ

2

Im не уверен, что это правильный путь.

но это решить мою проблему

Выбрать шаг источника данных. я выбрал расширенную и указанную ширину столбца вывода как 5000, и он работал

+1

До тех пор, пока вы в порядке с потерей усеченных данных, это сработает. – Adam

0

Просто сделайте колонку «текст», и вы не столкнетесь с какими-либо ограничениями длиной. После того, как вы закончите импорт, сканируйте столбец для значений> 8000 символов и посмотрите, что это значит.

Иногда строка в файле IIS не записывается должным образом, и вы получаете отсутствующие столбцы или перекрывающиеся столбцы, и это может вызвать проблему. Но использование «текста» обязательно устранит проблему усечения данных.

После импорта вы всегда можете установить новый столбец с именем [cs (User-Agent) varchar], который является varchar (8000), и скопировать данные в него с помощью convert (varchar (8000), [cs (User-Agent)])

9

Как вы выполняете импорт?

Я также посмотрел Microsoft's LogParser (как упоминалось в комментарии Майо в комментариях), а также запросил файлы в виде SQL-образа, вы также можете использовать его для импорта файлов в базу данных SQL Server, и это позаботится о создании целевых таблиц для вас. Синтаксис что-то вроде (замена {...} заполнителей в зависимости от обстоятельств):

LOGPARSER "SELECT * INTO {outtable} FROM {all090623.log}" 
     -o:SQL -server:{myserver} 
     -database:{weblogs} 
     -driver:"SQL Server" 
     -createTable 

После того, как это в базе данных вы можете добавить индексы, как обычно, и прочь вы идете ...

Смежные вопросы