Импорт данных в собственном и символьном формате из предыдущих версий SQL Server
В SQL Server 2012 вы можете использовать программу bcp для импорта данных в собственном и символьном формате из SQL Server 2000, SQL Server 2005 или SQL Server 2008, задав ключ -V. Параметр -V указывает SQL Server 2012, что следует использовать типы данных из указанной более ранней версии SQL Server, а формат файла данных принимается соответствующим формату из этой предыдущей версии.
Чтобы задать более раннюю версию SQL Server для файла данных, используйте параметр -V с одним из следующих квалификаторов:
Версия SQL Server |
Квалификатор |
---|---|
SQL Server 2000 |
-V 80 |
SQL Server 2005 |
-V 90 |
SQL Server 2008 |
-V 100 |
Интерпретация типов данных, введенных в SQL Server 2005
В SQL Server 2005 и более поздних версиях была добавлена поддержка некоторых новых типов данных. Если нужно импортировать новый тип данных в более раннюю версию SQL Server, эти данные необходимо сохранить в формате, который могут прочитать старые клиенты bcp. Следующая таблица содержит сведения о том, как новые типы данных в SQL Server 2005 преобразуются для совместимости с более ранними версиями SQL Server.
Новые типы данных в SQL Server 2005 |
Совместимые типы данных в версии 6x |
Совместимые типы данных в версии 70 |
Совместимые типы данных в версии 80 |
---|---|---|---|
bigint |
decimal |
decimal |
* |
sql_variant |
text |
nvarchar(4000) |
* |
varchar(max) |
text |
text |
text |
nvarchar(max) |
ntext |
ntext |
ntext |
varbinary(max) |
image |
image |
image |
XML |
ntext |
ntext |
ntext |
UDT1 |
image |
image |
image |
* Этот тип поддерживается изначально.
1 UDT обозначает определяемый пользователем тип.
Экспорт из SQL Server 2005 и более поздних версий
При массовом экспорте данных из SQL Server 2005 или более поздних версий с использованием ключа –V 80 данные типов nvarchar(max), varchar(max), varbinary(max), XML и UDT в собственном режиме хранятся с 4-байтовым префиксом, как данные text, image и ntext, вместо 8-байтового префикса, используемого по умолчанию в SQL Server 2005 и более поздних версиях.
Копирование значений данных
Программа bcp использует API-интерфейс массового копирования ODBC. Таким образом, для импорта значений дат в SQL Server программа bcp использует формат данных ODBC (yyyy-mm-dd hh:mm:ss[.f...]).
Команда bcp экспортирует данные в символьном формате с помощью формата ODBC по умолчанию для значений типов данных datetime и smalldatetime. Например, столбец типа datetime, содержащий дату 12 Aug 1998, копируется с помощью массового копирования в файл данных в качестве строки символов 1998-08-12 00:00:00.000.
Важно! |
---|
При импорте данных в поле типа smalldatetime с помощью программы bcp нужно убедиться, что значение секунд равно 00,000; в противном случае во время операции возникнет ошибка. Тип данных smalldatetime содержит значения только с точностью до минуты. В данном случае инструкции BULK INSERT и INSERT ... SELECT * FROM OPENROWSET(BULK...) не приведут к ошибке, но усекут значение секунд. |
Связанные задачи
Использование форматов данных для массового импорта или экспорта
Использование символьного формата для импорта и экспорта данных (SQL Server)
Использование собственного формата для импорта или экспорта данных
Использование символьного формата Юникода для импорта и экспорта данных (SQL Server)
Использование собственного формата Юникода для импорта или экспорта данных (SQL Server)
[Top]
См. также
Справочник
Функции CAST и CONVERT (Transact-SQL)
Другие ресурсы
Обратная совместимость компонента SQL Server Database Engine