A structural error can be one of two types:
Incompatible datatypes
An incompatible number of columns
Datatypes are incompatible when source and target table datatypes cannot be mapped to one another. For example, binary to datetime transfers are not allowed.
In bulk copy and express transfers, before the access service moves any data from the source database to the target database, the access service compares datatypes in the source to datatypes in the target.
In destination-template transfers, the access service compares the source table datatypes to the qualifiers set in the destination-template statement.
For all transfer types, if any columns have incompatible datatypes, the access service cancels the transfer without attempting to transfer any rows.
When the access service detects an unequal number of columns between the source and the target, a structural error can occur.
For bulk copy and express transfer:
If the number of source columns exceeds the number of target columns, the access service cancels the transfer.
If the number of target columns exceeds the number of source columns, processing continues if all of the extra columns of the target table accept nulls. If any one of the extra columns in the destination table does not accept nulls, the access service cancels the transfer.
For destination-template transfer:
If the number of columns returned by the sourceselectstatement exceeds the number of question marks in the destination-template transfer statement, the access service cancels the transfer.
If the number of question marks in the destination-template transfer statement exceeds the number of source columns, the keyword null replaces the extra question marks for each row of the transfer.