2017-07-06 2 views
0

Mein Problem: Ich möchte ein Oracle 12c Enterprise mit SQLServer 2012 verknüpfen. Ich habe verschiedene Tutorials ausprobiert, aber es ist mir nicht gelungen. Auf meinem neuesten Ansatz mit heterogenen Diensten habe ich den folgenden Fehler, wenn ich versuche, etwas abzufragen:heterogene Datenbankverbindung von Oracle 12c zu SQLServer 2012

wählen * von conf @ PAS;

ORA-28545: Kann nicht Text von NETWORK/NCR Nachricht 65535

conf abzurufen ist eine Tabelle, aus dem SQL Server und PAS ist der Name meiner Datenbank zu verknüpfen.

Die verschiedenen Anleitungen, denen ich folgte, sagten, dass ich 3 Dateien ändern muss, um die Verbindung herzustellen. Ich werde sie unten posten:

Hinweis: Beide Datenbanken laufen auf demselben Computer.

listener.ora:

SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (SID_NAME = CLRExtProc) 
     (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1) 
     (PROGRAM = extproc) 
     (ENVS = "EXTPROC_DLLS=ONLY:C:\OracleDB\product\12.1.0\dbhome_1\bin\oraclr12.dll") 
    ) 
    (SID_DESC = 
     (SID_NAME=PAS) 
     (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1) 
     (PROGRAM = dg4odbc) 
    ) 
) 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = PASSRV1)(PORT = 1521)) 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
) 

tnsnames.ora:

ORACLR_CONNECTION_DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
    (CONNECT_DATA = 
     (SID = CLRExtProc) 
     (PRESENTATION = RO) 
    ) 
) 

ORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = PASSRV1)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = orcl) 
    ) 
) 

PAS = 
    (DESCRIPTION= 
    (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1433)) 
     (CONNECT_DATA=(SID=PAS)) 
     (HS=OK) 
    ) 

initPAS.ora:

HS_FDS_CONNECT_INFO = PAS 
HS_FDS_TRACE_LEVEL = OFF 

habe ich den Link mit dieser Befehl:

CREATE DATABASE LINK PAS CONNECT TO "user" IDENTIFIED BY "password" USING 'PAS'; 

Die Sache ist, dass ich weiß nicht wirklich die Ursache für den Fehler und ich weiß nicht, wie es zu lösen. Also ich hoffe einer von euch kann mir helfen.

Wenn es eine einfachere Möglichkeit gibt, den Link zu erstellen, würde ich es begrüßen, wenn Sie mir sagen. Ich bin offen für Vorschläge.

Vielen Dank!

Antwort

0

Ich löste das Problem mit dem Oracle-Gateway und folgte einem einfachen Tutorial.

0

Ich habe ein ähnliches Problem haben, versuchen Sie zunächst tnsping zu PAS

cmd> tnsping PAS 

, nachdem es zu testen, ob Sie ein Problem zu versuchen, nicht über den Hafen von PAS 1433 ändern bereits von SQL Server verwendet wird, in Standardkonfiguration. Versuchen Sie, den Hörer ohne Fehler zu starten.

Beachten Sie, dass Oracle Oracle Gateway für SQL Server zusätzliche Kosten hat, wenn Sie install cd 5 von Orakel Installation Sie Probleme mit Oracle Audit haben könnten.

Verwandte Themen