Skip to main content

I have a workbench (FME 2013 SP2) that reads a view from PostGreSQL and writes the same table to MS SQL 2008. (Non Spatial) Permissions have been set for my AD account to create/upate/delete to the SQL database schema and there is plenty of storage space. I have tried numerous times to write the data without success and get the following error message in the log file:

MS SQL Server Writer: Failed to commit database transaction. Provider error `Description: Not enough storage is available to complete this operation.'
A fatal error has occurred. Check the logfile above for details
... Last line repeated 2 times ...
Successfully closed POSTGRES database reader
POSTGRES reader aborted!
A fatal error has occurred. Check the logfile above for details
Successfully closed POSTGRES database reader
Successfully closed POSTGRES database reader
Successfully closed PostgresConn database reader
A fatal error has occurred. Check the logfile above for details
MS SQL Server Writer: Aborting write operation
MS SQL Server Writer: Translation aborted -- rerun specifying "MS SQL Server Writer_START_TRANSACTION 3334"
MS SQL Server Writer: Closing `[database name]' . Write operation complete

This is the workbench

This is the data format

Steps I have tried to fix include:

  • Adding SET work_mem='1GB' in the SQL creator that extracts the data
  • Change timeout values on the SQL Writer
  • Added Feature Holder in between the SQL Creator / MSSQL writer
  • Added an Attribute Keeper in between SQL Creator / MSSQL writer

Each time I delete the table before re-running. Truncating gave the following warning messages in addition to the error messages:

MS SQL Server Writer: Attribute `Street' of feature type 'schema.table' has specified type `varchar(300)', but existing database table field has type `char(300)'. Information may be lost during conversion
MS SQL Server Writer: Attribute `postcode' of feature type `schema.table' has specified type `varchar(10)', but existing database table field has type `char(10)'. Information may be lost during conversion
MS SQL Server Writer: Attribute `town' of feature type `schema.table' has specified type `varchar(30)', but existing database table field has type `char(30)'. Information may be lost during conversion
MS SQL Server Writer: Attribute `locality' of feature type `schema.table' has specified type `varchar(35)', but existing database table field has type `char(35)'. Information may be lost during conversion
MS SQL Server Writer: Attribute `county' of feature type `schema.table' has specified type `varchar(25)', but existing database table field has type `char(25)'. Information may be lost during conversion
MS SQL Server Writer: Failed to commit database transaction. Provider error `Description: Not enough storage is available to complete this operation.'
A fatal error has occurred. Check the logfile above for details
... Last line repeated 2 times ...
Successfully closed POSTGRES database reader
POSTGRES reader aborted!
A fatal error has occurred. Check the logfile above for details
Successfully closed POSTGRES database reader
Successfully closed POSTGRES database reader
Successfully closed PostgresConn database reader
A fatal error has occurred. Check the logfile above for details
MS SQL Server Writer: Aborting write operation
MS SQL Server Writer: Translation aborted -- rerun specifying "MS SQL Server Writer_START_TRANSACTION 3333"

Regards

Andrew

If you get this error even with small transaction sizes (on the writer), you may be running out of disk space on your SQL Server instance.


The DBA has confirmed unrestricted tablespace with 200Gb free and no
errors in the log file. Only a fraction of that required for the database write.


The DBA has confirmed unrestricted tablespace with 200Gb free and no
errors in the log file. Only a fraction of that required for the database write.

What transaction size are you using on the writer within FME?


I have used open query to write data to MS SQL from PostGreSQL. However it would be good to know why FME fails to write the data.


What transaction size are you using on the writer within FME?

Transaction interval 500, Timeout 3000


Reply