Click here to Skip to main content
15,881,248 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Hi,
i have a big application written in vb6 sp6, and i am the support guy.
i know it's an obsolete version but really it's a very good application.
i have a written function to get the servers list by using the SQLDMO
following is the code:
Dim Names As SQLDMO.NameList
Dim SQLApp as SQLDMO.Application
Set SQLApp = New SQLDMO.Application

set Names = SQLApp.ListAvailableSQLServers

then it gives me error code 429 "ActiveX component can't create object"

do you have any suggestions what could be the error

What I have tried:

i tried to register the SQLDMO.dll with no luck
Posted
Updated 4-Mar-19 12:51pm

1 solution

Usually, that means a .DLL that is used by the SQLDMO library is missing. It may not be an SQLDMO .DLL. It could be a dependency it has on another library.

Another possibility is the .DLL's are there but they could be COM-based and not registered on the machine.

What does the code look like that is throwing the error? Not the entire application, just the snippet that's throwing and what line is throwing it.
 
Share this answer
 
Comments
aelkatatny@eg 5-Mar-19 9:24am    
thanks Dave,
but how could i know the missing dependency or the COM which is not registered
Dave Kreskowiak 5-Mar-19 10:47am    
Well, first, SQLDMO has been deprecated since SQL Server 2008. You can still get SQLDMO from https://www.microsoft.com/en-us/download/details.aspx?id=17943.

It's a collection of stand alone installers. For the life of me, I can't remember which on of those installers has DMO in it.

You're going to have to test each one to figure out which has DMO in it. It's not as bad as the size of the list would suggest. You can only use the 32-bit installers, which are the ones that don't end in "ia64" or "x64".


aelkatatny@eg 5-Mar-19 10:59am    
thanks again Dave,
but the link you shared is for SQL server 2005, and i am using SQL Server 2008.
and on my development machine the program works fine,
but when i build it and try to deploy it on another machine, first it give me an error "Module .dll Failed to register HRESULT -2147024714.
when i try to re-register this DLL it gives me the following error:
the module "c:\program" failed to load
make sure the binary is stored at the specified path or debug it to check for problems with binary or dependent dll
the specified module could not be found.
Dave Kreskowiak 5-Mar-19 11:05am    
It's not "FOR sql server 2005". The components you're looking for are separate from SQL Server and are not version dependent. It's just that the last version of SQL Server to come with the components was 2005.

Whatever "module.dll" is, I have no idea. It seems like something your wrote in your app.

The "C:\Program" thing is because you executed some command but did not wrap the entire path string in " characters. Every path that has spaces in it must be enclosed in double quote characters:

"C:\Program Files\Some Folder\Some File.dll"
aelkatatny@eg 5-Mar-19 11:13am    
i will check something and get back to you bro.
thanks in advance.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900