преобразование значения nvarchar переполнено столбцом int для вставки из файла
Я пытаюсь вставить данные в определенную таблицу из txt-файла, имея для нее схему XML-BPC. Файл txt содержит много строк, и по какой-то причине он дает мне ошибку, когда достигает значения «2999999999» для одного fied. Я пробовал с Cast как Int, но все равно ничего.
Это SQL-запрос:
INSERT INTO regioneanhotelidmapping(RegionID, EANHotelID) SELECT cast(RegionID as int), cast(EANHotelID as int) FROM OPENROWSET(BULK 'D:\EAN\RegionEANHotelIDMapping\RegionEANHotelIDMapping.txt', FORMATFILE='D:\EAN\eanRefresh\bcpxml\RegionEANHotelIDMapping.xml', FIRSTROW = 2) as BCP
И это XML:
- Sql вставляет несколько строк, если не существует
- вставка в представление на SQL-сервере
- Как мне это сделать с SQL Server?
- SQL Server: есть ли способ вставить в значения таблиц, используя одновременно SELECT и VALUES?
- SQL Server - вставка в комбинацию из двух таблиц
<?xml version="1.0"?> <BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RECORD> <FIELD ID="01" xsi:type="CharTerm" TERMINATOR="|" MAX_LENGTH="2000" COLLATION="SQL_Latin1_General_CP1_CI_AS"/> <FIELD ID="02" xsi:type="CharTerm" TERMINATOR="\n" MAX_LENGTH="2000" COLLATION="SQL_Latin1_General_CP1_CI_AS"/> </RECORD> <ROW> <COLUMN SOURCE="01" NAME="RegionID" xsi:type="SQLNVARCHAR" NULLABLE="YES"/> <COLUMN SOURCE="02" NAME="EANHotelID" xsi:type="SQLNVARCHAR" NULLABLE="YES"/> </ROW> </BCPFORMAT>
И ошибка: Msg 248, Level 16, State 1, Line 1 Преобразование значения nvarchar '2999999999' переполнило столбец int.
- Для каждой строки из select вставьте несколько строк в одну таблицу
- Смущение над оператором SQL для CASE КОГДА внутри INSERT
- Как транзакция будет работать в одном INSERT с несколькими значениями в SQL Server
- (SQL Server 2005) Хороший способ управления большим количеством операторов вставки?
- Запрос SQL Server - как вставить выбранные значения в другую таблицу
- Синтаксис для INSERTing в таблицу без значений?
- Как вставить составной первичный ключ в другую таблицу?
- Sql Server - Любой особый способ вставить, чтобы в одном столбце значение было одинаковым, а в другом - другим?
Это число слишком велико для INT, вам нужно будет изменить тип данных BIGINT для этого значения. Предел равен 2.3B и изменится, где вы находитесь на 2.9B и измените. См. Следующую страницу для справки.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql