Consultor Eletrônico



Kbase P98379: Error 7587 when updating a database via an ADO RecordSet
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/1/2005
Status: Unverified

FACT(s) (Environment):

MERANT 3.60 32-BIT Progress SQL-92
DataDirect 4.1 32-Bit Progress SQL92
DataDirect 4.20 32-Bit OpenEdge SQL92 10.0A

SYMPTOM(s):

Using Active Server Pages (ASP) to access a Progress database

Attempting an ADO RecordSet Update operation, error 7587 is generated

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[DataDirect][ODBC PROGRESS driver][PROGRESS]Syntax error (7587)

ADO RecordSet configured with the following settings:

.CursorLocation = adUseServer
.CursorType = adOpenKeyset
.LockType = adLockPessimistic

Field name being updated contains hyphens i.e. xxxx-yyyy

ADO Update operation succeeds if the field does not have hyphens in its name

ADO Update operation succeeds after setting .LockType to adLockOptimistic

Standard SQL Update statement succeeds i.e. UPDATE <table> SET <field-name> = <value>

CAUSE:

This is a known issue being investigated by Development

FIX:

Use adLockOptimistic instead of adLockPessimistic

Note that adLockPessimistic will work if the field name does not contain hyphens