Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 192652 - Last Review: December 3, 2003 - Revision: 3.1
PRB: ADO/RDS Update Error with Third Party ODBC Drivers
This article was previously published under Q192652
When attempting an ActiveX Data Objects (ADO)/ Remote Data Services (RDS)
update, using the OLEDB provider for ODBC (MSDASQL) with a third party ODBC
driver, you may receive an error.
The error results from the third party ODBC driver not supporting
positioned updates, for example SQLSetPos(). This behavior does not occur
with the Microsoft ODBC driver because it does support positioned updates.
A workaround for this error is to use searched updates, which are described
in the ODBC 3.0 Programmer's Reference book. To force searched updates with
ODBC you can add a WHERE clause to the SELECT statement that forces ODBC to
simulate positioned updates. Additional ODBC calls are made using the
SQLPrimaryKeys or SQLStatistics functions in order to obtain the necessary
unique identifiers for the update.
Another possible workaround for most ODBC drivers is to use a ForwardOnly
cursor. This force the OLEDB provider for the ODBC data sources to use
query based updates. Therefore, all updates to the driver are in the form
of SQL updates.
Try adUseServer for CursorLocation 'Server side cursor' and ForwardOnly
for CursorType before using the searched update workaround, since many
third party ODBC drivers work correctly by specifying ForwardOnly for the
CursorType.
This behavior is by design.
ODBC 3.0 Programmer's Reference; Volume 1, pg. 219.
APPLIES TO
- Microsoft OLE DB Provider for ODBC 1.5
- Microsoft Data Access Components 2.5
- Microsoft Data Access Components 2.6
- Microsoft Data Access Components 2.7
| kb3rdparty kbprb KB192652 |
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
Be the first to leave feedback, to help others about this knowledge base
article.
(Optional) Name
(Optional)
Public URL Or Email
Comments
No
HTML -- Text Only Please