Lately I installed a 32bit application on Windows x64.
Well, this application need SQL Server, so I configured DSN ODBC.
I had some problems with ODBC, since Windows x64 has 2 different ODBC panels … which I didnt’ know.
I found usefull info here 64 Bit Installation Concerns.
This is the part that solved my problem, and cleared my minds.
It’s important to understand which kind of DSN you have. On an x64 system, you can create an ODBC connection(DSN) on the 32-bit side of the system or on the 64-bit side of the system.
32-bit applications will only see ODBC connections created in the 32-bit side, and 64-bits applications will only see ODBC connections from the 64-bit side. Each kind of application has is own registry.To setup DSN for 32-bit application you must use:
%WINDIR%\SysWOW64\odbcad32.exe
and for 64-bit application you must use:
%WINDIR%\System32\odbcad32.exeThere is not 32-bit edition of Windows XP on the XP Pro x64 media.
http://support.microsoft.com/kb/942976/en-usA 64-bit version of the Microsoft Windows operating system includes the following versions of the Microsoft Open Database Connectivity (ODBC) Data Source Administrator tool (Odbcad32.exe):
• The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%WindowsSysWoW64 folder.
• The 64-bit version of the Odbcad32.exe file is located in the %systemdrive%WindowsSystem32 folder.
The Odbcad32.exe file displays the following types of data source names (DSNs):
• System DSNs
• User DSNs
source: 64 Bit Installation Concerns
more info here: The 32-bit version of the ODBC Administrator tool…
Technorati tags: Windows x64, 32bit
April 23, 2008 at 3:30 am |
Thanks! That saved me a fair bit of head scratching.
Incidentally, I noticed that the a User DSN created on 64bit side of ODBC is visible to the 32-bit program, but a System DSN isn’t.
August 7, 2008 at 4:39 pm |
Thanks, mate!!!
Chui, ive used to use user dsn and start my services under user accounts, im shocked too.
February 18, 2009 at 6:17 pm |
For detailed info on the differences, read the following Microsoft support article:
http://support.microsoft.com/kb/942976
February 19, 2009 at 12:41 pm |
thank you
October 31, 2009 at 2:19 am |
It is so typical of Microsoft to put the 64 bit drivers in the System32 folder and the 64bit drivers in a folder called SysWOW64. The other issuer I had with ODBC drivers failing to connect was because of the naming convention of the Program Files (x86) folder. Apparently some ODBC drivers like the Microsoft ODBC for oracle driver apparently do not like special characters like parenthesis. I had to uninstall my Office 2007 and reinstall it to a folder in the c:\ directory to get ODBC working in Access.
October 31, 2009 at 10:35 am |
@Louis:
System32 contains 64bit version, SysWoW64 32bit version.
please, have a look here: http://www.microsoft.com/windowsxp/using/64bit/russel_x64faq.mspx, question “What is the SysWOW64 directory?” 😉
thank you.
August 4, 2010 at 9:45 pm |
I ran into this same problem. I complied an old VB6 program on an x86 box and needed to run it on a Windows 2008 Server x64. One question is, would there be a problem with unregistering the X64 ODBC for the Database and using the X86(32-bit) ODBC to register it? I did this and it works fine, but would there be any degration in performance for others connecting to the Database on the server and now using the X86 ODBC drivers rather than the X64?
Thanks!
October 9, 2010 at 4:29 am |
Thank you. What an obvious folder name – SysWOW64 for a 32-bit ODBC control panel.
October 25, 2010 at 7:16 am |
Thanks for this, I have two WS2008 servers and was wondering why one DSN works with my 32 bit app and the other doesn’t!
March 15, 2011 at 4:56 pm |
thanks i really need it it is very useful
June 3, 2011 at 9:33 pm |
If you have the 64-bit MS Office installed and you wish to use Excel to query one of your 32-bit data sources, how can you browse/choose that 32-bit ODBC?
July 8, 2011 at 4:00 pm |
I spent whole day trying to figure out why Visio can’t see Oracle ODBC drivers. You just saved my weekend.
Thanks!
September 28, 2011 at 5:22 pm |
What if I am connecting to a 64 bit sql datasource from a 32 bit application?
October 21, 2011 at 7:28 am |
Hi
I am working with Excel 2007 on a 64-bit OS and trying to access Netezza as the database using the 32-bit Netezza driver. ODBC approach does not work (reasons discussed above ! ).
Is there a way I can have the OLEDB work (Netezza OLEDB Provider is installed).
Any help would be great !
Regards
Bharat
October 22, 2011 at 4:22 pm |
DUDE YOUR A BLOODY LIFESAVER THANK YOOOOUUUU!!!!!
ps sorry for caps but I have so much joy its unreal 😀
October 31, 2011 at 1:14 pm |
This worked like a charm! I’m flabbergasted!
Thanks for a simple tip that did worked!
Because of it I was able to make a connection to SQL Server 2005 through ODBC and Visual Basic 5.0 RDO on Windows 7 and Server 2008 64-Bit OS’s!
November 21, 2011 at 6:20 am |
You the best. Time saving !
November 23, 2011 at 2:15 pm |
Had the same problem. After googling I had solved problem by installing 2007 Office System Driver: Data Connectivity Components from http://www.microsoft.com/download/en/details.aspx?id=23734 . It works with Office 2010 too.
March 22, 2012 at 1:00 pm |
and what about dsn-less connection to oracle?
I have an Access front-end connecting to Oracle through the old Microsoft ODBC for Oracle with a connection string with NO dsn (referring Driver={Microsoft ODBC for Oracle} instead…)
The frontend works fine with XP/Win7 32bit, don’w work at all with Win7 64bit…
Any tips/tricks/hints ?
thx
pdb
Now in Italian….
—————————————
Caro Roberto,
grazie per questo post. Sfortunatamente sto sbattendo la testa su un caso piu’ tostop: nbon voglio settare un DSN esplicitamente, per evitare di fare il giro dell’oca su piu’ di 200 postazioni…
Il mio frontend ACCESS (2003/2007) funziona su winXP/Win7 a 32 bit, non funziona su sistemi operativi a 64bit.
Probabilmente referenziando il driver direttamente nella connection string (Driver={Microsoft ODBC for Oracle}), le macchine a 64 bit brancolano nel buio…
Qualcuno ha per caso gia’ trattao la questione?
Grazie,
pdb
March 22, 2012 at 11:18 pm |
@pdb
ciao, sino ad ora non ho incontrato questa situazione.
oracle non lo incontro da molti anni ormai.
ho trovato questi link, spero possano fornirti qualche indizio utile.
http://www.pcreview.co.uk/forums/connection-string-passthrough-query-windows-7-64-bit-t3989592p2.html
http://www.sapien.com/forums/scriptinganswers/forum_posts.asp?TID=4139
http://stackoverflow.com/questions/6721702/windows-7-64-bit-odbc-drivers-for-ms-access-missing
mi spiace.
ENG
hi, I have not meet Oracle since many years, so I have no info that help you.
found this urls similar this situation
http://www.pcreview.co.uk/forums/connection-string-passthrough-query-windows-7-64-bit-t3989592p2.html
http://www.sapien.com/forums/scriptinganswers/forum_posts.asp?TID=4139
http://stackoverflow.com/questions/6721702/windows-7-64-bit-odbc-drivers-for-ms-access-missing
.
HTH
I’m sorry.
March 23, 2012 at 9:20 am |
@roberto,
thank you so much – i will give a try.
IT
grazie mille per i links, ne ho trovati pure io una montagna…. vediamo di ricondurre l’informatica a qualcosa di logico! 😛
Grazie ancora,
pdb
July 11, 2012 at 2:49 pm |
Thank you so much. You’re a hero!
July 12, 2012 at 9:51 am |
this is a joke, isn’t it? 😀
thank YOU very much 😉
November 8, 2012 at 10:48 pm |
Thanks man! You just saved my life 😛 I was trying to connect to an Access db with pyodbc with no luck. After registering this source I just had to connect using connect(‘DSN=%dbname’)
Again, thank you!