Anslut Oracle-applikationer på Windows till SQL Server.
Du kan använda Oracles Database Gateway för ODBC (DG4ODBC) och SQL Server ODBC-drivrutinen för att ansluta Oracle till SQL Server.
DG4ODBC kommer som en del av Oracle 11g och senare, utan extra kostnad, och är kompatibel med Oracle 10g och senare.
DG4ODBC interagerar med Heterogeneous Services (en Oracle-databaskomponent) för att tillåta Oracle-klientapplikationer att få åtkomst till icke-Oracle-databaser. Data som inte kommer från Oracle är transparent integrerade, så Oracle-klientapplikationer är inte medvetna om att data lagras i en fjärrdatabas från en annan leverantör
Följande instruktioner visar hur du ansluter Oracle på Windows till SQL Server. För ytterligare information om DG4ODBC, se våra DG4ODBC för Windows handledningar.
- Ladda ner SQL Server ODBC-drivrutinen för din Windows-plattform. (Registrering krävs.)
- Installera och licensiera SQL Server ODBC-drivrutinen på Windows-datorn där DG4ODBC är installerat.
För installationsinstruktioner, se SQL Server ODBC-drivrutinens dokumentation.
- Konfigurera ett system-DSN som ansluter till din SQL Server-instans i ODBC Data Source Administrator på din DG4ODBC-maskin.
För instruktioner om hur du konfigurerar datakällor, se SQL Server ODBC-drivrutinens dokumentation.
64-bitars Windows Du måste kontrollera om din version av DG4ODBC är 32-bitars eller 64-bitars. För att göra detta, starta Windows Task Manager och välj fliken Processer. I ett kommandotolksfönster skriver du dg4odbc --help. Leta efter DG4ODBC-processen i Windows Task Manager. Om bildnamnet är "dg4odbc.exe *32" är DG4ODBC 32-bitars. Om bildnamnet är "dg4odbc.exe" är DG4ODBC 64-bitars. Tryck på CTRL+C i kommandotolksfönstret när du har använt Windows Task Manager för att ta reda på DG4ODBC:s arkitektur.
Om du har 64-bitarsversionen av DG4ODBC måste du köra 64-bitarsversionen av ODBC Administrator. För att göra detta, öppna Administrativa verktyg på Kontrollpanelen och öppna sedan Datakällor (ODBC). (På Windows Server 2003 och tidigare är kontrollpanelens applet som startar ODBC Administrator märkt Data Sources. I Windows 8 och senare är kontrollpanelen märkt ODBC Data Sources (64-bitars).)
Om du har 32-bitarsversionen av DG4ODBC måste du köra 32-bitarsversionen av ODBC Administrator. För att göra detta skriver du:
i dialogrutan Kör i Windows%windir%\syswow64\odbcad32.exe
- Skapa en DG4ODBC init-fil. För att göra detta, byt till katalogen %ORACLE_HOME%\hs\admin. Skapa en kopia av filen initdg4odbc.ora. Namnge den nya filen
initmssql.ora
.Obs I dessa instruktioner ersätter du %ORACLE_HOME% med platsen för din Oracle HOME-katalog. Till exempel, C:\oracexe\app\oracle\product\11.2.0\server.
- Se till att dessa parametrar och värden finns i din init-fil:
HS_FDS_CONNECT_INFO = my_sqlserver_odbc_dsn;
- Lägg till en post i %ORACLE_HOME%\network\admin\listener.ora som skapar ett SID_NAME för DG4ODBC. Till exempel:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=%ORACLE_HOME%) (PROGRAM=dg4odbc) ) )
- Lägg till en DG4ODBC-post i %ORACLE_HOME%\network\admin\tnsnames.ora som anger SID_NAME som skapades i föregående steg. Till exempel:
MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Ersätt oracle_host med värdnamnet för din Oracle-maskin.
- Starta (eller starta om) Oracle Listener:
cd %ORACLE_HOME%\bin lsnrctl stop lsnrctl start
- Anslut till din Oracle-databas i SQL*Plus.
- Skapa en databaslänk för SQL Server-målinstansen i SQL*Plus. Till exempel:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_sqlserver_password" USING 'mssql';
Ersätt my_sqlserver_user och my_sqlserver_password med ett giltigt användarnamn och lösenord för SQL Server-målinstansen.
Anteckningar
- Om du har problem med att ansluta till SQL Server från Oracle, aktivera DG4ODBC-spårning och kontrollera spårningsfilerna som skrivits till %ORACLE_HOME%\hs\trace-katalogen. För att aktivera DG4ODBC-spårning, lägg till raden HS_FDS_TRACE_LEVEL =DEBUG till initmssql.ora och starta/starta om Oracle-lyssnaren. Om spårningskatalogen inte finns, skapa den.
- Om du aktiverar ODBC Driver Manager-spårning, men inte får en spårningsfil eller får en tom spårningsfil, ändrar du spårningsfilens plats till Windows TEMP-katalogen. Till exempel C:\Windows\Temp\SQL.log.
Problem med att komma åt dina data
Om du stöter på några problem när du försöker läsa/skriva data till SQL Server från Oracle, gör följande:
- Se till att problemet inte är med programmet du använder, till exempel SQL Developer, Toad och så vidare. Testa problemet med SQLPlus på Oracle-maskinen. Om problemet bara inträffar till exempel under Toad och inte i SQLPlus, vänligen rapportera problemet till de personer som stöder Toad.
- Försök att begränsa problemet till problemkolumnen/problemtabellen. Låt oss säga att du till exempel kör en
select * from table@link
och du har bara en kolumn som orsakar problemet, prova att köraselect column from table@link
och se om det ger samma fel. Detta hjälper oss att diagnostisera problemet. - Om du behöver kontakta Easysoft Support med ett DG4ODBC-problem:
- Slå på Dg4ODBC-spårning i din $ORACLE_HOME/hs/admin/initmssql.ora-fil:
HS_FDS_TRACE_LEVEL = Debug
- Stoppa och starta din Oracle-lyssnare.
- Reproducera problemet i SQL Plus. Om du inte får en Oracle-spårningsfil i din $ORACLE_HOME/hs/log-mapp har din avlyssnare inte startats om eller så har Oracle inte konfigurerats korrekt.
- Skicka Easysofts supportteam ([email protected]):
- Utdata som visar inloggningen till SQLPlus, frågan som körs och felet visas.
- En kopia av din Oracle initmssql-loggfil. Vänligen zippa / komprimera den här filen om den är mer än 1 MB.
- En kopia av din initmssql.ora-fil.
- En kopia av filerna som slutar på _install.info från /usr/local/easysoft. När vi har alla artiklar bör Easysofts supportteam snabbt kunna ta reda på om detta är ett Oracle-konfigurationsproblem/-bugg i Oracle, Easysoft-konfiguration/-bugg eller om vi helt enkelt behöver mer information.
- Slå på Dg4ODBC-spårning i din $ORACLE_HOME/hs/admin/initmssql.ora-fil: