Merge Repl and Clarion 5.5

  • I have a client who is having an issue regarding its merge replication solution. The environment consists of a central publisher/distributor and 21 subscribers. All of the servers run SQL Server 2000 sp3 on an NT 4.0 platform. They are connected using dedicated T1 or DSL lines and the Merge Agent runs every three min. for each subscriber. Each merge moves approx. 150 to 200 records. The application is a full client tool developed using Clarion 5.5 (http://www.softvelocity.com/).

    Issue: One table, JOBDETL (similar to an invoice detail table), contains three attributes of interest, BILLRATE, BILLHRS, and TOTCHG. (See table definition below)

    CREATE TABLE [dbo].[JobDetl] (

    [JobPtr] [int] NOT NULL ,

    [WkoPtr] [int] NOT NULL ,

    [CusPtr] [int] NOT NULL ,

    [SitePtr] [int] NOT NULL ,

    [EmpPtr] [int] NOT NULL ,

    [YMDWeekEnding] [datetime] NULL ,

    [PayProc] [tinyint] NULL ,

    [Chkno] [int] NULL ,

    [EmplName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [YMDServ] [datetime] NULL ,

    [SkillID] [int] NULL ,

    [BackBrace] [tinyint] NULL ,

    [Boots] [tinyint] NULL ,

    [Broom] [tinyint] NULL ,

    [Glasses] [tinyint] NULL ,

    [Gloves] [tinyint] NULL ,

    [Hat] [tinyint] NULL ,

    [Rake] [tinyint] NULL ,

    [Shirt] [tinyint] NULL ,

    [Shovel] [tinyint] NULL ,

    [Vest] [tinyint] NULL ,

    [Other] [tinyint] NULL ,

    [OthDesc] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [RideStat] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [Reimbursements] [decimal](7, 2) NULL ,

    [Charges] [decimal](7, 2) NULL ,

    [InvProc] [tinyint] NULL ,

    [InvPtr] [int] NULL ,

    [TotalHrs] [decimal](5, 2) NULL ,

    [RegHrs] [decimal](5, 2) NULL ,

    [RegRate] [decimal](5, 2) NULL ,

    [OtHrs] [decimal](5, 2) NULL ,

    [OtRate] [decimal](5, 2) NULL ,

    [BillHrs] [decimal](5, 2) NULL ,

    [BillRate] [decimal](5, 2) NULL ,

    [OtBillHrs] [decimal](5, 2) NULL ,

    [OtBillRate] [decimal](5, 2) NULL ,

    [WCPtr] [int] NULL ,

    [WCRate] [decimal](9, 4) NULL ,

    [TotChg] [decimal](7, 2) NULL ,

    [Adjustment] [tinyint] NULL ,

    [YMDAdjustment] [datetime] NULL ,

    [Adjuster] [int] NULL ,

    [CommentId] [int] NULL ,

    [OCIPAmount] [decimal](9, 2) NULL ,

    [rowguid] uniqueidentifier ROWGUIDCOL NOT NULL ,

    [Transportation] [decimal](9, 2) NOT NULL

    ) ON [PRIMARY]

    GO

    ALTER TABLE [dbo].[JobDetl] WITH NOCHECK ADD

    CONSTRAINT [PK_JobDetl] PRIMARY KEY CLUSTERED

    (

    [JobPtr]

    ) WITH FILLFACTOR = 75 ON [PRIMARY]

    GO

    ALTER TABLE [dbo].[JobDetl] WITH NOCHECK ADD

    CONSTRAINT [DF__JobDetl__rowguid__4AA7D061] DEFAULT (newid()) FOR [rowguid],

    CONSTRAINT [DF__JobDetl__Transpo__3A09B649] DEFAULT (0) FOR [Transportation]

    GO

    The data is correctly entered into the subscribers table and is durable. The data is replicated to the publisher where one, two, or three of the attributes mentioned above are blank or '0'. This occurs less than 1/2 of 1% of the time. There doesn't appear to be any pattern to the corruption. All data is replicated, it is not being partitioned either vertically or horizontally. SQL Server does not generate any error messages or conditions.

    Has anyone seen anything like this? I have scripted out the replication configuration if anyone needs it.

    Kurt Allebach

    Sr. Managing Consultant

    Software Architects, Inc.

    (813) 288 9515

    Director for Community Development

    The Professional Association for SQL Server

    kallebach


    Kurt Allebach

  • Have you checked for Conflicts? Of course this would only be a possibility if the row already existed and was being updated by the subscriber. If these are new inserts from the subscriber, then it must be something else.

    Jay Madren


    Jay Madren

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply