Solved

ODBC error in Windows 7 (Not in XP)

Posted on 2011-03-25
5
984 Views
Last Modified: 2012-05-11
I am getting the following error while try to read a recordset:
"ODBC driver does not support the requested properties."

I am running vb6 code on Windows 7 with SQL 2008.
This code has run fine in XP and SQL 2005 and there are literally 100's of similar statements in the project (many using the same connection) which work just fine. The pertinent lines are:

When the project is opened, the following are declared (the gdb.version is 6.1):

Dim gDB As ADODB.Connection
Dim gDBCmd As New ADODB.Command

    Set gDB = New ADODB.Connection
    gDB.Open “DSN=<Sql DSN Data Source>;UID=sa;PWD=<Password>”
    Set gDBCmd.ActiveConnection = gDB


This is the procedure where the error occurs:
   
Dim rsStore As New ADODB.Recordset

    gDBCmd.CommandText = “Select <FieldName1> From <TableName> Where <FieldName2> = 1”
    Set rsStore = gDBCmd.Execute <-- error occurs

Thanks for any help you can give
0
Comment
Question by:CASorter
  • 2
  • 2
5 Comments
 
LVL 10

Expert Comment

by:Hutch_77
ID: 35217174
Having had somethign similar but not positive this is correct I will pass it up.  Is this supposed to be a 32 bit ODBC connection?

If you are running 64 bit Win 7 you are settin gup a 64 bit ODBC connection and you need it setup in 32 bit mode by running this :

C:\Windows\SysWOW64\odbcad32.exe

If it is not an ODBC issue I am not sure.
0
 

Author Comment

by:CASorter
ID: 35217215
I am running 32 bit win 7 and 32 bit ODBC
0
 
LVL 2

Expert Comment

by:SushiFrito
ID: 35297802
Try to replace the Early Binding to Late Binding

Dim gDB As Object   'ADODB.Connection
Dim gDBCmd As Object   'New ADODB.Command

Set gDB = CreateObject("ADODB.Connection")
Set gDBCmd = CreateObject("ADODB.Command")
0
 
LVL 2

Accepted Solution

by:
SushiFrito earned 500 total points
ID: 35297803
Try to replace the Early Binding to Late Binding

Dim gDB As Object   'ADODB.Connection
Dim gDBCmd As Object   'New ADODB.Command

Set gDB = CreateObject("ADODB.Connection")
Set gDBCmd = CreateObject("ADODB.Command")
0
 

Author Closing Comment

by:CASorter
ID: 35299811
Thanks,
Any idea why this works? I never used late binding before
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you start your Windows 10 PC and got an "Operating system not found" error or just saw  "Auto repair for startup" or a blinking cursor with black screen. A loop for Auto repair will start but fix nothing.  You will be panic as there are no back…
By default the complete memory dump option is disabled in windows . If we want to enable the complete memory dump for a diagnostic purpose, we have a solution for it. here we are using the registry method to enable this.
The viewer will learn how to successfully download and install the SARDU utility on Windows 7, without downloading adware.
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now