cancel
Showing results for 
Search instead for 
Did you mean: 

Provider cannot be found

Former Member
5,339

When testing a 32bit VB6 app against SQLA 12.1 on a Win7 64 bit PC, it works fine. Both client and database are on the Win7 64 bit.

Now testing on a clean install of MS Server 2008 R2 SP1 64bit. The database works fine but the 32bit app gives "Provider cannot be found".

Search on this forum gives "SA11 + EF4 + VS2010 RC = Error" which seems similar but I've never come across machine.config before and there are loads of them on the server. Some reference ASA 12 though.

We cannot install the dev. s/w to debug so I'm lost :[

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

It sounds like you either don't have a 32-bit driver installed or a 32-bit DSN defined. Not sure about MSS, but this is a SQL Anywhere forum so here's a related question for SQL Anywhere.


Update: This is linked from the other question, but is probably a better starting point:
SQL Anywhere INSIDER February 2011 Tips: Working with ODBC DataSources on Microsoft Windows (32-bit ...

Former Member
0 Kudos

Graham & Chris,

Top answers. I knew it was something to do with the 32bit install but couldn't find it. Running the correct syswow64odbcad32.exe proved the 32 bit part of the SQLA install had not worked so I re-ran it and it all came good (didn't work on my fresh dev server but did on the clients' server).

@Graham: Your related question was spot-on and a real eye opener.

As usual, many thanks for your prompt responses.

Tim

PS: I should have said Windows Server 2008 R2 not MS.

Former Member
0 Kudos

Ah, thanks for the clarification. I mistakenly thought you meant MS SQL Server 2008 not Windows Server 2008!

VolkerBarth
Contributor
0 Kudos

Ah, you're pushing "Insider" knowledge:)

Former Member

I wish Microsoft's choice to use System32 for 64-bit programs and SysWOW64 for 32-bit programs had been an April Fool's joke. 🙂

Former Member
0 Kudos

Strange how it worked a treat on Win7 64 but threw a wobbly on 2008R2. Now connected, I'm getting parameter conversion errors from VB to SQLA which hints at compatability issues. Still, they don't happen on Win7 64 so I shall perservere.

This is a great forum.

Answers (2)

Answers (2)

jack_schueler
Product and Topic Expert
Product and Topic Expert

Watch your VB6 application for memory leaks on Windows 7/Vista/Server 2008 and newer systems. VB6 is not supported by Microsoft and we have had two customers reporting memory leaks. A process heap dump revealed that VB6 ADO was leaking connection strings on Windows 7 (and related OS).

Recommendation: Move to .NET as soon as possible.

chris_keating
Product and Topic Expert
Product and Topic Expert

VB6 is a 32 bit application and requires 32 bit client software. The error "provider cannot be found" means that the 32 bit OLE DB driver is not found, installed, and/or registered. By default, only 64 bit software is installed on 64 bit operating systems. You simple need to modify the install and select the 32 bit client components or you can manually install the OLE DB driver using the files from your working environment (%sqlany12%bin32). For more details on the deployment, see

See http://dcx.sybase.com/index.html#1201/en/dbprogramming/deploying-oledb-deploy.html*d5e50170.

As an aside, the machine.config is only related to .NET.