Mit dem SQL Server-ODBC-Treiber können Sie Oracle auf Linux- und UNIX-Plattformen mit SQL Server oder SQL Azure verbinden. Wenn Sie sich entscheiden, die Netzwerkverbindung von Ihren Clientanwendungen zu SQL Server zu verschlüsseln, oder wenn Sie SQL Azure verwenden, müssen Sie die TLS-Version des Treibers verwenden, die in der SQL Server-ODBC-Treiberverteilung enthalten ist.
Wenn Sie nicht die TLS-Version des SQL Server-ODBC-Treibers verwenden, um eine Verbindung zu einer SQL Server-Instanz herzustellen, die für die Anforderung einer verschlüsselten Verbindung konfiguriert wurde, erhalten Sie diesen Fehler:
Client unable to establish connection: SSL requested but not supported
Wenn Sie bereits den Easysoft SQL Server ODBC-Treiber mit Oracle verwenden:
- In der SQL Server-Datenquelle, auf die von
HS_FDS_CONNECT_INFO
verwiesen wird in IhrerinitSID.ora
, nehmen Sie die folgenden Änderungen vor:- Ändern Sie den
Driver
von:Driver = Easysoft ODBC-SQL Server
zu:
Driver = Easysoft ODBC-SQL Server SSL
- Fügen Sie diese Zeilen hinzu:
Encrypt = Yes TrustServerCertificate = Yes
- Ändern Sie den
- Wenn Sie in
initSID.ora
, ändern Sie denHS_FDS_SHAREABLE_NAME
Wert auf:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Starten Sie den Oracle-Listener neu.
Wenn Sie ein neuer Benutzer sind:
- Installieren und lizenzieren Sie den SQL Server ODBC-Treiber auf dem Rechner, auf dem Oracle installiert ist.
Installationsanweisungen finden Sie in der ODBC-Treiberdokumentation.
Hinweis Sie müssen den unixODBC-Treibermanager auf Ihrem Computer installieren. Die Easysoft-Distribution enthält eine Version des unixODBC-Treiber-Managers, mit dem der Easysoft SQL Server-ODBC-Treiber getestet wurde. Das Setup-Programm des Easysoft-Treibers bietet Ihnen die Möglichkeit, unixODBC zu installieren.
- Erstellen Sie eine ODBC-Datenquelle in /etc/odbc.ini, die eine Verbindung zu der SQL Server-Datenbank herstellt, auf die Sie von Oracle® zugreifen möchten. Beispiel:
[SQLSERVER_SAMPLE] Driver = Easysoft ODBC-SQL Server SSL Server = my_machine\SQLEXPRESS User = my_domain\my_user Password = my_password # If the database you want to connect to is the default # for the SQL Server login, omit this attribute Database = Northwind Encrypt = Yes TrustServerCertificate = Yes
- Verwenden Sie isql, um die neue Datenquelle zu testen. Beispiel:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Geben Sie an der Eingabeaufforderung „help“ ein, um eine Liste mit Tabellen anzuzeigen. Drücken Sie zum Beenden die Eingabetaste in einer leeren Eingabeaufforderungszeile.
Wenn Sie keine Verbindung herstellen können, finden Sie Hilfe in diesem Artikel.
- Erstellen Sie eine DG4ODBC-Init-Datei. Wechseln Sie dazu in den
hs/admin
Unterverzeichnis. Beispiel:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Erstellen Sie eine Kopie der Datei
initdg4odbc.ora
. Benennen Sie die neue Dateiinitmssql.ora
. - Stellen Sie sicher, dass diese Parameter und Werte in Ihrer Init-Datei vorhanden sind:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Ersetzen Sie my_mssql_odbc_dsn mit dem Namen einer SQL Server-ODBC-Treiberdatenquelle, die eine Verbindung mit der SQL Server-Zielinstanz herstellt. Zum Beispiel
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Kommentieren Sie die Zeile aus, die die DG4ODBC-Ablaufverfolgung aktiviert. Beispiel:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Fügen Sie einen Eintrag zu
listener.ora
hinzu die einen SID_NAME für DG4ODBC erstellt. Beispiel:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Fügen Sie einen DG4ODBC-Eintrag zu
tnsnames.ora
hinzu die den im vorherigen Schritt erstellten SID_NAME angibt. Zum Beispiel:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Ersetzen Sie oracle_host durch den Hostnamen Ihres Oracle®-Rechners.
- Starten (oder starten) Sie den Oracle® Listener. Beispiel:
lsnrctl stop lsnrctl start
- Verbinden Sie sich mit Ihrer Oracle®-Datenbank in SQL*Plus.
- Erstellen Sie in SQL*Plus eine Datenbankverknüpfung für die SQL Server-Zielinstanz. Zum Beispiel:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Notizen
- Wenn Sie Probleme haben, sich von Oracle® mit SQL Server zu verbinden, aktivieren Sie die DG4ODBC-Ablaufverfolgung und überprüfen Sie die Ablaufverfolgungsdateien, die in
hs/log
geschrieben werden Verzeichnis. Um die DG4ODBC-Ablaufverfolgung zu aktivieren, fügen Sie die ZeileHS_FDS_TRACE_LEVEL = DEBUG
hinzu zuinitmssql.ora
und dann den Oracle®-Listener starten/neu starten. Wenn daslog
Verzeichnis existiert nicht, erstellen Sie es. Beispiel:mkdir log chmod +w log