2017-01-09 234 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') 

一投再轉換,反正THX :)

相關問題