The following table 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).
Any 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 less
than -32768 (negative values).
|
char,
varchar, text
|
tinyint
|
|
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 Adaptive Server, 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
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 is greater than 214748.3647 or
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.
|