リンク サーバー セットアップを介して SQL Server 2008 R2 から PervasiveSQL バックエンド (Sage ERP システム) のデータを更新しようとしています。以下は詳細と返されたエラーメッセージです...キッカーは、更新ステートメントが開発ボックスでうまく機能し、非常によく似たセットアップであることです。どんな助けでも大歓迎です!
環境:
- Windows Server 2008 Enterprise (クラウド サーバー、ラックスペース)
- Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) Express Edition with Advanced Services on Windows NT 6.1 (ビルド 7601: Service Pack 1) (WOW64) (ハイパーバイザー)
- Pervasive SQL v.10 バックエンドで動作する Sage Timberline ERP
セットアップ:
32 ビットの Timberline Driver (OBDC) を使用して、SQL Server 2008 に LINKED SERVER セットアップがあります。リンクされたサーバーは、MSDASQL プロバイダーを使用し、次の 2 つのプロパティが TRUE に設定されています。 /p>
問題:
リンク サーバーからデータを正常にプルできます。以下のクエリを参照してください。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'
エラー:
リンク サーバー "TLLINKSERVER" の OLE DB プロバイダー "MSDASQL" がメッセージ "[Sage Timberline Office][Sage Timberline Office ODBC Driver]Syntax Error." を返しました。リンク サーバー "TLLINKSERVER" の OLE DB プロバイダー "MSDASQL" がメッセージ "[Sage Timberline Office][Sage Timberline Office ODBC Driver]UPDATE "\SERVER1\Company Data\DATA\COMPANY1\"<< ??? >>."TABLE1 を返しました。 " SET "DATEFIELD1"=? WHERE "JOBID"=? AND "DATEFIELD1"=?".
メッセージ 7343、レベル 16、状態 4、行 1
リンク サーバー "TLLINKSERVER" の OLE DB プロバイダー "MSDASQL" は、テーブル "[MSDASQL]" を更新できませんでした。