Microsoft KB Archive/198858

= BUG: Cannot Do Inserts to Oracle Tables With Mixed Case Column Name =

Article ID: 198858

Article Last Modified on 10/15/2002

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition

-



This article was previously published under Q198858





SYMPTOMS
When trying to do an insert to an Oracle table, you receive the following error message:

Invalid Column Name



CAUSE
The SourceColumn Property of rdoColumns is bringing back the incorrect column name. It does not place the quotes around the column name as specified in the statement:

cn.Execute "CREATE TABLE mixed(""Col1"" varchar(20))"

This statement specifies quotes around Col1. In Oracle, this creates a column name "Col1."



RESOLUTION
Before trying the Insert, change the SourceColumn property to add the quotes around the column name. For example:

rs.rdoColumns(0).SourceColumn = """Col1"""



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.



Steps to Reproduce Problem
 Start Visual Basic. Create a Standard Exe Project. Create a reference to Microsoft Remote Data Objects 2.0. Place a CommandButton on the Form.  In the Command Button's click event, place the following code: Dim cn As New rdoConnection Dim rs As rdoResultset Dim q As rdoQuery Dim strConnect As String

strConnect = "dsn=orac;UID=pss;PWD=pss" cn.Connect = strConnect cn.CursorDriver = rdUseClientBatch cn.EstablishConnection 'uncomment below line after mixed table created ' cn.Execute "DROP TABLE mixed" cn.Execute "CREATE TABLE mixed(""Col1"" varchar(20))" Set q = cn.CreateQuery("bob", "SELECT * FROM mixed") Set rs = q.OpenResultset(rdOpenKeyset, rdConcurLock) 'rs.rdoColumns(0).SourceColumn = """Col1""" rs.AddNew rs(0) = "alfka" rs.Update rs.BatchUpdate rs.Requery Debug.Print rs(0).Value </li> Run the Project, Click the Command1 Button.</li></ol>

Result: You will receive the "Invalid Column name" error.

If you uncomment the SourceColumn line, the code will work.

Keywords: kbbug kboracle kbrdo kbpending KB198858

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.