SQL Server Performance

update query error due to linked server between 64-bit 2005 and 32-bit 2000

Discussion in 'SQL Server 2005 General Developer Questions' started by jessie, Feb 14, 2008.

  1. jessie New Member

    We got the following error messge when we try to update one record on 32-bit 2000 server through 64-bit 2005 server:(1 row(s) affected)
    OLE DB provider "SQLNCLI" for linked server "qnxt3" returned message "Bookmark is invalid.".
    Msg 7333, Level 16, State 2, Line 20
    Cannot fetch a row using a bookmark from OLE DB provider "SQLNCLI" for linked server "qnxt3".
    Any one know anything about this one?
    Many thanks!
  2. satya Moderator

    How does the UPDATE statement looks like?
  3. jessie New Member

    Here it is, thanks!
    USE [IB_Stage]
    DECLARE @recordsToUpdate TABLE
    [DocRequestID] int,
    [PrintedBy] varchar(20),
    [PrintedDate] smalldatetime,
    [PlanAction_recordid] INT
    INSERT INTO @recordsToUpdate
    SELECT [d].[DocRequestId],
    FROM GICA.dbo.[fnCA_Documents](2, NULL, NULL) d
    INNER JOIN [dbo].[tbl_Gaudette_Header] gh
    ON [gh].[DocumentReq_ID] = [d].[DocRequestId]
    WHERE gh.[PlanAction_recordid] = 3998987
    UPDATE pa
    SET [pa].[completeid] = [rtu].[PrintedBy],
    [pa].[completedate] = [rtu].[PrintedDate]
    FROM [dbo].[vwQNXTPlanAction] pa
    INNER JOIN @recordsToUpdate rtu
    ON [rtu].[PlanAction_recordid] = [pa].[recordid]
  4. satya Moderator

    You may try using:
    EXEC('...') AT LinkedServer instead of the UPDATE-statement.
  5. jessie New Member

    Sorry that I am the new one and not very clear about EXEC(...)instead of update statement. Could you specify for me? Thank you very much!

Share This Page