Connecteren naar Oracle via Windows 7-64bit
Heel wat applicaties maken gebruik van een ODBC connectie om te connecteren naar een Oracle Database. In de 64bit editie van Windows 7 zijn echter enkele vervelende bugs (features?) geslopen waardoor deze applicaties plots niet meer werken. Dit artikel biedt de oplossing.ODBC for Oracle
Om vanaf een Windows desktop te connecteren naar een Oracle database die op een server draait dient men een bepaalde “driver” te installeren. Het is een stukje software dat Oracle de “client software” noemt. Veelal wordt dit ook de “runtime” genoemd. Deze software kan gratis gedownload worden van de Oracle website.Versies
Oracle is heel versie-gevoelig. Net zoals er verschillende serverversies bestaan (9i, 10g, 11g), bestaan er equivalente runtimeversies. Alhoewel het vaak geen enkel probleem is om met een hogere client-versie naar een lagere server-versie te connecteren (bijvoorbeeld met de 11g client connecteren naar een 10g database), is het toch aangewezen steeds overeenkomende versies te gebruiken.32bit versus 64bit
Niet enkel Windows heeft zowel een 32bit als een 64bit versie, ook Oracle heeft deze. En daar knelt het schoentje. Indien de database een 32bit versie is kun je er in theorie enkel naartoe connecteren met een 32bit runtime. Wanneer je echter een 32bit runtime installeert op Windows 7-64bit, dan zal deze installatie in veel gevallen al niet lukken. De Oracle setup valideert namelijk het Operating System waarop geïnstalleerd wordt en Windows 7 is in deze (verouderde) setup nog niet gekend. Gelukkig bestaat er een manier om Oracle bij de neus te nemen:Ga in de folder waar de setup-bestanden staan op zoek naar het volgende bestand:
<folder waar setupfiles staan>/client/stage/prereq/client/refhost.xml
Open deze XML file in notepad en zoek naar de tag “CERTIFIED_SYSTEMS”. Voeg hier Windows 7 toe (officiëel is dit versie 6.1 van Windows) en sla het bestand op.
<CERTIFIED_SYSTEMS>
<OPERATING_SYSTEM>
<!--Microsoft Windows 2000-->
<VERSION VALUE="5.0"/>
<SERVICE_PACK VALUE="1"/>
</OPERATING_SYSTEM>
<OPERATING_SYSTEM>
<!--Microsoft Windows XP-->
<VERSION VALUE="5.1"/>
<SERVICE_PACK VALUE="1"/>
</OPERATING_SYSTEM>
<OPERATING_SYSTEM>
<!--Microsoft Windows 2003-->
<VERSION VALUE="5.2"/>
</OPERATING_SYSTEM>
<!--Microsoft Windows Vista-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.0"/>
</OPERATING_SYSTEM>
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
</CERTIFIED_SYSTEMS>
<OPERATING_SYSTEM>
<!--Microsoft Windows 2000-->
<VERSION VALUE="5.0"/>
<SERVICE_PACK VALUE="1"/>
</OPERATING_SYSTEM>
<OPERATING_SYSTEM>
<!--Microsoft Windows XP-->
<VERSION VALUE="5.1"/>
<SERVICE_PACK VALUE="1"/>
</OPERATING_SYSTEM>
<OPERATING_SYSTEM>
<!--Microsoft Windows 2003-->
<VERSION VALUE="5.2"/>
</OPERATING_SYSTEM>
<!--Microsoft Windows Vista-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.0"/>
</OPERATING_SYSTEM>
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
</CERTIFIED_SYSTEMS>
Nu zou de installatie probleemloos moeten verlopen.
ODBC aanmaken
De volgende stap is het aanmaken van de eigenlijke ODBC-connectie. Logischerwijze openen we via het Configuratiescherm/Administrative Tools de Data Sources (ODBC) applicatie. We merken dat de Oracle-driver niet opgelijst wordt. Wanneer we op “add” klikken om deze toe te voegen blijkt daar (meestal) enkel een SQL Server driver te staan. Hoe kan dit nu? De setup was toch perfect gelukt? De reden is simpel: indien men op een Windows 64bit-systeem via het configuratiescherm de ODBC-applicatie aanspreekt, dan zullen enkel 64bit-drivers weergegeven worden.Ook hiervoor bestaat een oplossing. Navigeer via Windows Verkenner naar de folder %WINDIR%/SYSWOW64 (meestal C:/WindowsSYSWOW64) en zoek naar het bestand odbcad32.exe. Dit is de 32bit-versie van de ODBC-applicatie. Start de applicatie door te dubbelklikken op dit bestand. De geïnstalleerde driver zal hier wel beschikbaar zijn. Hiermee kan de ODBC-connectie normaal probleemloos aangemaakt worden.
Connectie via applicatie werkt niet!
We wensen bijvoorbeeld de connectie te testen door in Microsoft© Excel een tabel uit de Oracle database weer te geven. Op dat moment kunnen we geconfronteerd worden met een “Verbinding mislukt” error. De reden hiervoor is dat de ODBC driver “moeite” heeft met het feit dat Windows 64bit zowel een “C:/Program Files” als een “C:/Program Files (x86)” folder heeft. En daar staat Excel by default geïnstalleerd. Indien de applicatie wordt geïnstalleerd in een andere folder (bij voorkeur zonder spaties in de foldernaam), zoals bv. C:/Excel, dan zal de connectie wel werken.Besluit
Als samenvatting kunnen we stellen dat we bij de installatie van een 32bit ODBC driver op een 64bit Windows rekening moeten houden met de volgende zaken:- Pas de refhost.xml file aan zodat de installatie van de runtime lukt.
- Maak de ODBC-connectie aan via de applicatie odbcad32.exe.
- Zorg ervoor dat het programma dat de connectie gebruikt niet in “C:/Program Files” of “C:/Program Files (x86)” staat, maar wel in de root, in een folder zonder spaties.
Het is ongetwijfeld vervelend dat deze acties überhaupt moeten ondernomen worden, maar het vermijdt in elk geval dat kritische applicaties door de eenvoudige upgrade naar een nieuw OS plots niet meer werken.
© 2010 - 2012 Andyv, gepubliceerd in Tips en tricks (Pc en Internet) op .
Het auteursrecht van dit artikel en antwoorden op reacties ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
Automatische updates laten maken door Windows Een Windows systeem is erg gevoelig voor virussen en “inbrekers”. Het is du…
Systeembeheer: Modules Via het Systeembeheer kun je heel gedetailleerd een beeld krijgen van de systeeminstellingen, gebr…
Windows Vista Service Pack 2 Vista’s tweede service pack komt sneller dan verwacht. In april 2009 verscheen de bèta op de…
Pokemon - Types Alle Pokémon hebben 1 of 2 types met verschillende sterktes en zwaktes. Omdat dit soms moeilijk te onthou…
Gerelateerde artikelen
Oracle; de grootste software ontwikkelaar Kijk voor de grap eens welke software er op je werk of school gebruikt wordt. G…Automatische updates laten maken door Windows Een Windows systeem is erg gevoelig voor virussen en “inbrekers”. Het is du…
Systeembeheer: Modules Via het Systeembeheer kun je heel gedetailleerd een beeld krijgen van de systeeminstellingen, gebr…
Windows Vista Service Pack 2 Vista’s tweede service pack komt sneller dan verwacht. In april 2009 verscheen de bèta op de…
Pokemon - Types Alle Pokémon hebben 1 of 2 types met verschillende sterktes en zwaktes. Omdat dit soms moeilijk te onthou…
Reageer op het artikel "Connecteren naar Oracle via Windows 7-64bit"
Reactie
Johan Mercy, 12-09-2011 12:23 #1
Uitstekend artikel met - voor mij althans - 100% werkende oplossing.
Reactie infoteur, 16-09-2011
Bedankt Johan, ik ben alvast blij dat het ook voor jou een uitweg bood.
Mvg
Andy