on 2012 Apr 02 6:44 PM
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 :[
Request clarification before answering.
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 ...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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. 🙂
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
72 | |
30 | |
8 | |
7 | |
6 | |
6 | |
6 | |
4 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.