Consultor Eletrônico



Kbase P141510: OE10.1C ABL client gpf with a simple query when there is a TIMESTAMP field on the MS SQL Server data
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/02/2009
Status: Unverified

SYMPTOM(s):

OE10.1C ABL client gpf with a simple query when there is a TIMESTAMP field on the MS SQL Server database table

Stack trace from MSVCR80.dll reads:

memmove
DllStartup


FACT(s) (Environment):

The TIMESTAMP field is is not present in the tables in the schema holder
The TIMESTAMP field is not the last column on the SQL Server Database
ABL client works fine when the TIMESTAMP field is the last column on the MS SQL Server Database
MS SQL DataServer
Windows
OpenEdge 10.1C
OpenEdge 10.1C01 Service Pack
OpenEdge 10.1C02 Service Pack
OpenEdge 10.1C03 Service Pack

CHANGE:

Upgraded from OE10.1B03 to OE10.1C03

CAUSE:

Bug# OE00181255

FIX:

Currently there is no fix, but there are two workaround exists:

1. Alter the SQL Server table so that the TIMESTAMP column the last field on the table, and re-pull the table from the MS SQL Server database. The TIMESTAMP field then can be deleted from the table for the Assign/insert operation to work successfully.

Or,

2. Create a view with SCHEMABINDING excluding the TIMESTAMP field so all the indices on the physical table can also be created for the view on the MS SQL Server. Then pull the view in to the schema holder.

Syntax for create view is shown below:

USE [myDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

Create VIEW [owner].[myView] WITH SCHEMABINDING AS

SELECT field1, field2, Fieldn
FROM owner.physical_table_name
GO

CREATE UNIQUE CLUSTERED INDEX [pk_idx_field1] ON [owner].[myView]
(
[field1] ASC
)
GO

If CLUSTERED is not specified, a NONCLUSTERED index will be created.