Errors when Transferring MS Access data to SQL Server 2014 Express

My experience with SQL is limited and was hoping someone could give me some advice. Needing some suggestions on how to combat the below errors in order to have a successful transfer of an Access database file onto SQL 2014 Express server. I have been utilising the SQL Server Import and Export Wizard to complete this which has returned several errors. A copy of the errors are shown below. Any advice would be greatly appreciated.

  • Copying to [dbo].[Tbl_*****] (Error)
    Messages
    • Error 0xc0202009: Data Flow Task 1: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
      An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "Invalid character value for cast specification.".
      (SQL Server Import and Export Wizard)

    • Error 0xc020901c: Data Flow Task 1: There was an error with Destination - Tbl_.Inputs[Destination Input].Columns[] on Destination - Tbl_**.Inputs[Destination Input]. The column status returned was: "Conversion failed because the data value overflowed the specified type.".
      (SQL Server Import and Export Wizard)

    • Error 0xc0209029: Data Flow Task 1: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "Destination - Tbl_.Inputs[Destination Input]" failed because error code 0xC020907A occurred, and the error row disposition on "Destination - Tbl_.Inputs[Destination Input]" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.
      (SQL Server Import and Export Wizard)

    • Error 0xc0047022: Data Flow Task 1: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination - Tbl_*****" (115) failed with error code 0xC0209029 while processing input "Destination Input" (128). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.
      (SQL Server Import and Export Wizard)

    • Error 0xc02020c4: Data Flow Task 1: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020.
      (SQL Server Import and Export Wizard)

    • Error 0xc0047038: Data Flow Task 1: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on Source - Tbl_***** returned error code 0xC02020C4. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure.
      (SQL Server Import and Export Wizard)

Best to first stage your data in a staging table with all the columns defined as nvarchar(max) and retry then from staging to final destination table

1 Like

Thanks yosiasz, never used a staging table before but will look into this as an option.

Any other suggestions anyone ?

The problem is that you have something defined in your Access database that SQL Server is not able to convert to a valid SQL Server data type. This could be something as simple as the default string length being assigned - where SQL Server is defining that as 50 characters but Access has more than 50 characters in the source column.

It could also be a string column in Access that contains only numbers - and SQL Server is attempting to convert that to an integer but the string value is larger than allowed for the integer data type.

The best way to handle this is to build the table in SQL Server first - verifying the columns data types are correct, then importing the data from Access into the existing table.

2 Likes