rescapacctgit
asked on
ADO reference issue in Excel 2010 with physical and virtual machines
I have a spreadsheet with VBA that has a reference to the ADO 2.0 library. The VBA opens a connection to a SQL Server database, executes a command, and stores it in a recordset.
If the code is executed and saved on a physical Windows 7/Excel 2010 machine, and then opened on a virtual Windows 7/Excel 2010 machine, the code will not run.
The error is "Error occured while retrieving data from the database (Error #: 430 - Error Description: Class does not support Automation or does not support expected interface)"
However, if the ADO reference is changed from 2.0 to 2.x, saved, and then changed back to 2.0, it will work.
Any possible reason a physical machine would cause this issue and a virtual would not?
If the code is executed and saved on a physical Windows 7/Excel 2010 machine, and then opened on a virtual Windows 7/Excel 2010 machine, the code will not run.
The error is "Error occured while retrieving data from the database (Error #: 430 - Error Description: Class does not support Automation or does not support expected interface)"
However, if the ADO reference is changed from 2.0 to 2.x, saved, and then changed back to 2.0, it will work.
Any possible reason a physical machine would cause this issue and a virtual would not?
ASKER
Normally we use virtual machines only for these files.
Oddly enough after running on a physical machine, the reference doesn't appear broken. The paths are the same:
C:\Program Files\Common Files\System\ado\msado.tlb .
Oddly enough after running on a physical machine, the reference doesn't appear broken. The paths are the same:
C:\Program Files\Common Files\System\ado\msado.tlb
You mentioned 2 different references (2.0 vs 2.x). Same file path for both file references within the two different environments?
2.0 and 2. whatever will have different file names.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank you, carsRST.
That can be checked by opening in one environment vs the other and see if a reference is missing.