2017-01-09 6 views
0

У меня есть этот кодОшибка преобразования типа данных DBTYPE_DBTIMESTAMP в Datetime2

SELECT 
TRY_CONVERT(varchar(150), "PCR_Fecha") AS "PCR_Fecha" 
FROM OPENQUERY(EXTRACCION, 'SELECT * FROM EXTRACCION.Extraccion') 

Но я получаю ошибку

Error converting data type DBTYPE_DBTIMESTAMP to datetime2. 

Я знаю, что есть неправильные значения в PCR_Fecha (например, 40218: 00: 00 или 14mayo09), поэтому я пытаюсь преобразовать их в varchar.

я могу увидеть данные, используя

SELECT * FROM OPENQUERY(EXTRACCION, 'SELECT CAST(PCR_Fecha AS varchar(26)) FROM EXTRACCION.Extraccion'); 

Связанный сервер от Filemaker и там PCR_Fecha установлен в качестве даты. Ищете ответ Я обнаружил, что могу определить «dbtimestamp_rules = 2» в строке подключения, но я не знаю, как добавить это правило.

Любые другие предложения?

ответ

0

Я обнаружил, что могу изменить тип данных из Filemaker и установить его в текст (это была дата раньше), и это решает проблему.

С SQL это

SELECT 
Convert(NVARCHAR(26),PCR_Fecha) 
FROM OPENQUERY(EXTRACCION, 'SELECT CAST(PCR_Fecha AS VARCHAR(26)) as PCR_Fecha FROM EXTRACCION.Extraccion') 

Литая, а затем преобразовать, в любом случае ТНХ :)