我想通過鏈接服務器安裝程序從SQL Server 2008 R2更新PervasiveSQL後端(Sage ERP系統)中的數據。下面是詳細信息和錯誤消息返回...踢球者是,更新語句在開發框中工作很好,非常類似的設置。任何幫助將不勝感激!SQL鏈接服務器更新Openquery語法錯誤
環境:
- Windows Server 2008企業(雲服務器,Rackspace公司)
- 的Microsoft SQL Server 2008 R2(SP1) - 10.50.2500.0(英特爾X86)Express Edition與高級服務在Windows NT 6.1 (建設7601:Service Pack 1的)(WOW64)(管理程序)
- 賢者林線ERP與普適SQL第10節後端運行
設置:
我們在SQL Server 2008中使用32位Timberline驅動程序(OBDC)設置LINKED SERVER 鏈接服務器正在使用MSDASQL提供程序,並將以下兩個屬性設置爲TRUE「允許進程」和「非事務更新」
問題:
我們可以從鏈接的服務器成功提取數據,請參閱下面的查詢。我們可以通過SSMS中的鏈接服務器成功瀏覽對象。
SELECT *
FROM OPENQUERY (TLLINKSERVER, 'SELECT * FROM TABLE1 where JOBID = ''00-00-111111''')
但是低於UPDATE
語句返回下面的錯誤。
UPDATE OPENQUERY(TLLINKSERVER, 'SELECT * FROM TABLE1 WHERE JOBID = ''00-00-111111''')
SET DATEFIELD = '2013-07-15'
錯誤:
OLE DB provider "MSDASQL" for linked server "TLLINKSERVER" returned message "[Sage Timberline Office][Sage Timberline Office ODBC Driver]Syntax Error.". OLE DB provider "MSDASQL" for linked server "TLLINKSERVER" returned message "[Sage Timberline Office][Sage Timberline Office ODBC Driver]UPDATE "\SERVER1\Company Data\DATA\COMPANY1\"<< ??? >>."TABLE1" SET "DATEFIELD1"=? WHERE "JOBID"=? AND "DATEFIELD1"=?".
Msg 7343, Level 16, State 4, Line 1
The OLE DB provider "MSDASQL" for linked server "TLLINKSERVER" could not UPDATE table "[MSDASQL]".
「非常相似」的設置 - 你可以列舉他們是不是完全相同? –