Help and Support

PRB: Error 800a0cb3 on AddNew or Update Method When Using Microsoft Oracle OLE DB Provider

Article ID:255707
Last Review:September 30, 2003
Revision:2.0
This article was previously published under Q255707
On This Page

SYMPTOMS

When you perform updates or add new records to an Oracle database by using Microsoft ActiveX Data Objects (ADO), the following error may occur:
ADODB.Recordset (0x800A0CB3)
Object or provider is not capable of performing requested operation.

Back to the top

CAUSE

This error message is generated because the Oracle OLE DB Provider does not support server-side updates.

Back to the top

RESOLUTION

You must use client-side cursors to perform updates against an Oracle database by using the Microsoft Oracle OLE DB Provider. To do this, before opening the recordset, specify the CursorLocation property to equal adUseClient (or the number "3").

Back to the top

STATUS

This behavior is by design.

Back to the top

MORE INFORMATION

Steps to Reproduce Behavior

To reproduce this behavior, perform the following steps:
1.Create a sample table in Oracle with some data by using the following SQL statements:
CREATE TABLE MYACCT
        (ACCT_NUM   NUMBER  CONSTRAINT pk_Acct_Num PRIMARY KEY ,
         CUST_NUM   NUMBER,
         ACCT_NAME  VARCHAR2(255)) 

INSERT INTO MYACCT VALUES(111,111,'Barry Blue')
					
2.Insert the following code into a new Microsoft Active Server Pages (ASP) page:
<%@ Language=VBScript %>
<!--METADATA TYPE="TypeLib" NAME="Microsoft Remote Data Services Server 2.5 Library" UUID="{9381D8F6-0288-11D0-9501-00AA00B911A5}" VERSION="1.5"-->
<!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.5 Library" UUID="{00000205-0000-0010-8000-00AA006D2EA4}" VERSION="2.5"-->
<%' Replace the above two lines with the following lines to use MDAC 2.6
'<!--METADATA TYPE="TypeLib" NAME="Microsoft Remote Data Services Server 2.6 Library" UUID="{9381D8F6-0288-11D0-9501-00AA00B911A5}" VERSION="1.5"-->
'<!--METADATA TYPE="TypeLib" NAME="Microsoft ActiveX Data Objects 2.6 Library" UUID="{00000206-0000-0010-8000-00AA006D2EA4}" VERSION="2.6"-->%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>

<BODY>
<%
	Dim cn, rs
	Set cn = Server.CreateObject("ADODB.Connection")
	Set rs = Server.CreateObject("ADODB.Recordset")
	cn.Open "Provider=MSDAORA.1;Password=tiger;User ID=scott;Data Source=YourDataSource;"
	' rs.CursorLocation = adUseClient ' Uncomment this line to cause this code to work properly.
	rs.Open "SELECT * FROM MYACCT", cn, adOpenKeyset, adLockOptimistic 
	rs("ACCT_NUM")=333
	rs("CUST_NUM")=333
	rs("ACCT_NAME")="barry white"
	rs.Update 

%>

</BODY>
</HTML>
					
3.Save the page in a folder that is part of a Web application in Internet Information Server (IIS).
4.Browse to the page using Internet Explorer.

Back to the top


APPLIES TO
Microsoft OLE DB Provider for Oracle Server 1.0

Back to the top

Keywords: 
kbdatabase kbprb KB255707

Back to the top

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.