Values that cause errors

Table 9-3 shows data values that can cause errors during bulk copy transfer.

Table 9-3: Values that cause errors

Source input datatypes

Target (destination) datatypes

Error conditions for bulk copy

char, varchar, text

char, varchar, text, binary, varbinary, or image, LONGVARCHAR

Source data is longer than the destination column.

char, varchar, text

decimal, DECIMAL

  • Source is not a valid decimal string (must contain an optional leading sign and decimal digits).

  • Number of digits to the left of the decimal point is greater than the destination column precision minus scale. Any digits to the right of the decimal will be lost without error.

char, varchar, text

integer

  • Source is not a valid decimal string (must contain an optional leading sign, decimal digits, decimal point, and fractional decimal digits).

  • String of digits to the left of the decimal point is greater than 2147483647 (positive values) or less than -2147483648 (negative values).

NoteAny digits to the right of the decimal will be lost without an error being generated.

char, varchar, text

smallint

  • Source is not a valid decimal string (must contain an optional leading sign, decimal digits, decimal point, and fractional decimal digits).

  • String of digits to the left of the decimal point is greater than 32767 (positive values), or it is less than -32768 (negative values).

char, varchar, text

tinyint

  • Source is not a valid positive integer string (must contain an optional leading “+” and decimal digits).

  • String of digits does not form an integer value between 0 and 255.

char, varchar, text

OS bit

Source data length is greater than 1 or source value !=”0” or “1.”

char, varchar, text

float. DOUBLE

Source is not a valid floating point format string (must contain optional leading sign, decimal digits, optional decimal point, fractional decimal digits, and optional E[+|-] nnn exponent).

char, varchar, text

real

  • Source is not a valid floating point format string (must contain optional leading sign, decimal digits, optional decimal point, fractional decimal digits, and optional E[+|-] nnn exponent).

  • Target (destination) is ASE, and the value is greater than 3.402823466E38 or less than -3.402823466E38.

char, varchar, text

date

Source is not an ISO format date (YYY-MM-DD) or a valid Adaptive Server date/time string with the year later than 1753.

char, varchar, text

time

Source is not an ISO format time (HH.MM.SS) or an HH:MM:SS format time.

char, varchar, text

ODBC TIMESTAMP

Source is not an ISO format date (YYYY-MM-DD-HH.MM.SS) or a YYYY-MM-DD-HH.MM.SS.NNNNNN date with YYYY greater than 0001, or a valid Adaptive Server date/time string with the year later than 1753.

char, varchar, text

datetime

Source is not an ISO format date, time, or timestamp with a year later than 1753 or a valid Adaptive Server date/time string with a year later than 1753.

char, varchar, text

datetime4

Source is not an ISO format date, time, or timestamp with a year later than 1899 and the year, month, and day earlier than Jun 7, 2079, or a valid Adaptive Server date/time string with a year later than 1899 and the year, month, and day earlier than Jun 7, 2079.

char, varchar, text

money

Source is not a valid decimal string (must contain an optional leading sign, decimal digits, optional decimal point, and fractional decimal digits), and the value is greater than 922337203685477.5807, or the value is less than -922337203685477.5808.

char, varchar, text

money4

Source is not a valid decimal string (must contain an optional leading sign, decimal digits, optional decimal point, and fractional decimal digits), and the value is greater than 214748.3647 or less than -214748.3648.

binary, varbinary, image

char, varchar, text, binary, varbinary, image, LONGVARCHAR

Source data is longer than the destination column.

byte, int, smallint

char, varchar, text

Destination column is too small to hold the digits required to express the value. For example, the source value is 103 and the destination column is char(2).

byte, int, smallint

bit

Source value !=0 or 1.

smallint, int, float, real, money, money4, decimal

decimal

Destination column precision minus scale is too small to hold the value. For example, a source data value of 98 requires destination column precision minus scale of 2.

money, money4, decimal, numeric

decimal

If precision=scale=maximum, precision for the datatype does not transfer properly when the data value is 0. A workaround is to alter the table to avoid one of these conditions.

smallint

tinyint

Source value is greater than 255 or less than 0.

int

smallint

Source is greater than 32767 or less than -32768.

int

money4

Source is greater than 214748 or less than -214748.

int

tinyint

Source is greater than 255 or less than 0.

bit

decimal

Target (destination) column precision minus scale is less than 1.

float, real

char, varchar, text

Target (destination) column is too small to hold the digits required to express the value. For example, source is 1030303E+30 and destination column is char(12).

float, real, money

int

Source value greater than 2147483647.0 or less than -2147483648.0.

float, real, money, money4, decimal

smallint

Source is greater than 32767.0 or less than -32768.0.

float, real, money, money4, decimal

tinyint

Source is greater than 255.0 or less than 0.0.

float, real

money

Source value is greater than 922337203685477.0 or less than -922337203685477.0.

  • Since float accuracy is 15 digits, a value of this magnitude is accurate only to the nearest dollar.

  • Since real accuracy is 7 digits, a value of this magnitude is accurate only to the nearest hundred million dollars.

float, real, money, decimal

money4

Source value is greater than 214748.3647 or is less than -214748.3648.

float, real, money, money4, decimal

bit

Source value !=0.0 or 1.1.

money, money4, decimal

char, varchar, text

Target (destination) column is too small to hold digits required to express value. For example, source is 100000000.001 and destination column is char(12).

datetime, datetime4

char, varchar, text

Target (destination0 column length is less than 19.

datetime

datetime4

Date portion of source value is earlier than Jan 1 1900 or later than Jun 6 2079.