我必須設置爲在MS SQL Server 2012中的鏈接服務器在整個數據庫的ODBC數據源,大多數(但不是全部)列,其數據類型是迄今爲止給我搗亂,每當我運行查詢。查詢除這些日期類型列以外的任何列都不會遇到任何問題。錯誤轉換dbtype_dbdate最新
下面的查詢:
SELECT *
FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT Product,
DateLastReceipt
FROM ProductTable')
提供了以下錯誤在SQL Server Management Studio中(2012年)的消息:我一直在使用轉換爲數據類型換算成每以下爲varchar試圖
Msg 8114, Level 16, State 10, Line 1. Error converting data type DBTYPE_DBDATE to date.
沒有任何的運氣(相同的錯誤信息)的討論:http://social.technet.microsoft.com/Forums/en-US/transactsql/thread/3a7d94ee-46a0-40ce-ae95-127ec462fbff
現在,有完全相同的數據類型的一些列(日期)個不要給我任何麻煩。例如,在我的ProductTable中,有一個名爲AddedToFile的列,顯示記錄的創建日期。本專欄完全沒有給我帶來麻煩。
任何人可以提供的幫助將非常感激。
謝謝。
感謝@lamLam上。你的第一個建議的查詢引發以下錯誤對我來說:OLE DB提供程序「MSDASQL」鏈接服務器「LINKEDSERVERNAME」返回了消息「[Transoft] [TSODBC] [usqlsd]‘從’這裏預期(()」 使用第二。查詢時,我得到以下錯誤:OLE DB提供程序「MSDASQL」鏈接服務器「LINKEDSERVERNAME」返回了消息「[Transoft] [TSODBC] [usqlsd]名稱預期(,)」 是我的語法搭配既能襯托這些?這些似乎並沒有成爲最描述性錯誤消息。 感謝您的幫助,我是新來這。 – Kyle 2012-07-16 19:20:56
對不起,我從來沒有使用Transoft之前充塞。你可以嘗試...直接使用Transoft客戶端運行SELECT語句(如果有的話)或直接到服務器** SELECT Product,CAST(DateLastReceipt AS CHAR(10))FROM ProductTable **。在轉換日期搜索Transoft sql手冊品格。可能Transoft不支持CAST,或者使用CHARACTER(10)而不是CHAR或使用不同的函數。一旦工作,只需將整個事情複製回SQL服務器腳本 – lamLam 2012-07-17 02:20:51