2015-09-29 3 views
3

У меня есть файл с информацией о запасе, такой как тикер и цена акций. Файл был загружен в таблицу базы данных с помощью freebcp. Формат цены акций в файле выглядит следующим образом: 23.125. Тип данных цены акции в таблице базы данных [десятичный] (28, 2). freebcp без проблем загружал данные в таблицу, игнорируя последнюю цифру: 23.12 был загружен в столбец таблицы записи. Теперь мы используем утилиту bcp для Microsoft SQL Server (версия: 11.0) для загрузки данных. Однако мы столкнулись с проблемой: bcp считает загрузку 23.125 на десятичную (28.2) ошибкой (# @ Row 783, Column 23: String data, right truncation @ #). Он отклонил запись.ignore bcp right truncation

Я не хотел изменять входной файл, потому что в нем нужно удалить несколько столбцов, удалив последнюю цифру столбцов.

Есть ли способ построить BCP или Microsoft SQL Server, чтобы получить правильную ошибку усечения?

+0

Вы используете инструмент командной строки bcp? Будет ли возможность создать процедуру или выполнить импорт через SQL Server Management Studio? – CeOnSql

ответ

1

Общепринятое обходное решение в тот же день, относится к BCP во вторичную/временную таблицу, затем делает SELECT (список столбцов) В базовую таблицу с необходимым преобразованием. Другой вариант - это Use the OPENROWSET Bulk Rowset Provider, затем вы можете приложить/конвертировать по мере необходимости.

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