espero que esto ayude (no estoy usando SQL Server 2012).
si su ODBC se vincula a db2, para el rango de fechas no es compatible, p. '0001-01-01', necesitas lanzar. Normalmente esto funciona.
SELECT *
FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT Product,
CAST(DateLastReceipt AS CHAR(10))
FROM ProductTable')
Si aún desea el resultado como fecha, simplemente use CASE y reemplace la fecha no válida por su fecha predeterminada, por ejemplo,
SELECT *
FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT Product,
,CASE WHEN DateLastReceipt AS CHAR(10)) = ''0001-01-01''
THEN CURRENT_DATE
ELSE DateLastReceipt
END
FROM ProductTable')
Es posible que deba cambiar CURRENT_DATE a CURRENT_TIMESTAMP y la composición de CASE depende de su servidor de base de datos y sus requisitos