Il driver ODBC di SQL Server consente di connettere Oracle su piattaforme Linux e UNIX a SQL Server o SQL Azure. Se decidi di crittografare la connessione di rete dalle tue applicazioni client a SQL Server o stai utilizzando SQL Azure, devi utilizzare la versione TLS del driver, inclusa nella distribuzione del driver ODBC di SQL Server.
Se non utilizzi la versione TLS del driver ODBC di SQL Server per la connessione a un'istanza di SQL Server configurata per richiedere una connessione crittografata, verrà visualizzato questo errore:
Client unable to establish connection: SSL requested but not supported
Se stai già utilizzando il driver ODBC di Easysoft SQL Server con Oracle:
- Nell'origine dati di SQL Server indicata da
HS_FDS_CONNECT_INFO
nel tuoinitSID.ora
, apportare le seguenti modifiche:- Modifica il
Driver
da:Driver = Easysoft ODBC-SQL Server
a:
Driver = Easysoft ODBC-SQL Server SSL
- Aggiungi queste righe:
Encrypt = Yes TrustServerCertificate = Yes
- Modifica il
- Se si punta alla libreria dei driver anziché alla libreria di Driver Manager in
initSID.ora
, modifica ilHS_FDS_SHAREABLE_NAME
valore a:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Riavvia il listener Oracle.
Se sei un nuovo utente:
- Installa e concede in licenza il driver ODBC di SQL Server sul computer in cui è installato Oracle.
Per le istruzioni di installazione, vedere la documentazione del driver ODBC.
Nota Hai bisogno di unixODBC Driver Manager installato sul tuo computer. La distribuzione Easysoft include una versione di unixODBC Driver Manager con cui è stato testato il driver ODBC di Easysoft SQL Server. Il programma di installazione del driver Easysoft ti dà la possibilità di installare unixODBC.
- Creare un'origine dati ODBC in /etc/odbc.ini che si connetta al database di SQL Server a cui si desidera accedere da Oracle®. Ad esempio:
[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
- Usa isql per testare la nuova origine dati. Ad esempio:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Al prompt, digita "help" per visualizzare un elenco di tabelle. Per uscire, premi Invio in una riga di prompt vuota.
Se non riesci a connetterti, fai riferimento a questo articolo per assistenza.
- Crea un file di inizializzazione DG4ODBC. Per fare ciò, cambia in
hs/admin
sottodirectory. Ad esempio:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Crea una copia del file
initdg4odbc.ora
. Assegna un nome al nuovo fileinitmssql.ora
. - Assicurati che questi parametri e valori siano presenti nel tuo file init:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Sostituisci my_mssql_odbc_dsn con il nome di un'origine dati del driver ODBC di SQL Server che si connette all'istanza di destinazione di SQL Server. Ad esempio
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Commenta la riga che abilita il tracciamento DG4ODBC. Ad esempio:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Aggiungi una voce a
listener.ora
che crea un SID_NAME per DG4ODBC. Ad esempio:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Aggiungi una voce DG4ODBC a
tnsnames.ora
che specifica il SID_NAME creato nel passaggio precedente. Ad esempio:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Sostituisci oracle_host con il nome host della tua macchina Oracle®.
- Avvia (o riavvia) Oracle® Listener. Ad esempio:
lsnrctl stop lsnrctl start
- Connettiti al tuo database Oracle® in SQL*Plus.
- In SQL*Plus, creare un collegamento al database per l'istanza di destinazione di SQL Server. Ad esempio:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Note
- Se si verificano problemi di connessione a SQL Server da Oracle®, abilitare la traccia DG4ODBC e controllare i file di traccia scritti in
hs/log
directory. Per abilitare il tracciamento DG4ODBC, aggiungi la rigaHS_FDS_TRACE_LEVEL = DEBUG
ainitmssql.ora
quindi avviare/riavviare il listener Oracle®. Se illog
directory non esiste, crearla. Ad esempio:mkdir log chmod +w log