Met het SQL Server ODBC-stuurprogramma kunt u Oracle op Linux- en UNIX-platforms verbinden met SQL Server of SQL Azure. Als u besluit om de netwerkverbinding van uw clienttoepassingen naar SQL Server te coderen, of als u SQL Azure gebruikt, moet u de TLS-versie van het stuurprogramma gebruiken, die is opgenomen in de SQL Server ODBC-stuurprogrammadistributie.
Als u de TLS-versie van het SQL Server ODBC-stuurprogramma niet gebruikt om verbinding te maken met een SQL Server-instantie die is geconfigureerd om een versleutelde verbinding aan te vragen, krijgt u deze foutmelding:
Client unable to establish connection: SSL requested but not supported
Als u de Easysoft SQL Server ODBC-driver al met Oracle gebruikt:
- In de SQL Server-gegevensbron waarnaar wordt verwezen door
HS_FDS_CONNECT_INFO
in uwinitSID.ora
, breng de volgende wijzigingen aan:- Wijzig het
Driver
van:Driver = Easysoft ODBC-SQL Server
naar:
Driver = Easysoft ODBC-SQL Server SSL
- Voeg deze regels toe:
Encrypt = Yes TrustServerCertificate = Yes
- Wijzig het
- Als u verwijst naar de driverbibliotheek in plaats van de Driver Manager-bibliotheek in
initSID.ora
, verander deHS_FDS_SHAREABLE_NAME
waarde toe aan:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Herstart de Oracle-luisteraar.
Als u een nieuwe gebruiker bent:
- Installeer en licentieer het SQL Server ODBC-stuurprogramma op de computer waarop Oracle is geïnstalleerd.
Zie de documentatie van het ODBC-stuurprogramma voor installatie-instructies.
Opmerking U moet de unixODBC Driver Manager op uw computer hebben geïnstalleerd. De Easysoft-distributie bevat een versie van de unixODBC Driver Manager waarmee de Easysoft SQL Server ODBC-driver is getest. Het Easysoft driver setup programma geeft je de mogelijkheid om unixODBC te installeren.
- Maak een ODBC-gegevensbron in /etc/odbc.ini die verbinding maakt met de SQL Server-database waartoe u toegang wilt vanuit Oracle®. Bijvoorbeeld:
[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
- Gebruik isql om de nieuwe gegevensbron te testen. Bijvoorbeeld:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Typ bij de prompt "help" om een lijst met tabellen weer te geven. Druk op Return in een lege promptregel om af te sluiten.
Als je geen verbinding kunt maken, raadpleeg dan dit artikel voor hulp.
- Maak een DG4ODBC init-bestand. Ga hiervoor naar de
hs/admin
submap. Bijvoorbeeld:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Maak een kopie van het bestand
initdg4odbc.ora
. Geef het nieuwe bestand de naaminitmssql.ora
. - Zorg ervoor dat deze parameters en waarden aanwezig zijn in uw init-bestand:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Vervang my_mssql_odbc_dsn met de naam van een SQL Server ODBC-stuurprogrammagegevensbron die verbinding maakt met het doel-SQL Server-exemplaar. Bijvoorbeeld
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Reageer op de regel die DG4ODBC-tracering mogelijk maakt. Bijvoorbeeld:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Voeg een item toe aan
listener.ora
dat maakt een SID_NAME voor DG4ODBC. Bijvoorbeeld:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Voeg een DG4ODBC-item toe aan
tnsnames.ora
die de SID_NAME specificeert die in de vorige stap is gemaakt. Bijvoorbeeld:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Vervang oracle_host met de hostnaam van uw Oracle®-machine.
- Start (of herstart) de Oracle® Listener. Bijvoorbeeld:
lsnrctl stop lsnrctl start
- Maak verbinding met uw Oracle®-database in SQL*Plus.
- Maak in SQL*Plus een databasekoppeling voor de doelinstantie van SQL Server. Bijvoorbeeld:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Opmerkingen
- Als je problemen hebt om verbinding te maken met SQL Server vanuit Oracle®, schakel dan DG4ODBC-tracering in en controleer de traceerbestanden die zijn geschreven naar de
hs/log
map. Om DG4ODBC-tracering in te schakelen, voegt u de regelHS_FDS_TRACE_LEVEL = DEBUG
toe naarinitmssql.ora
en start / herstart vervolgens de Oracle®-listener. Als delog
directory bestaat niet, maak deze aan. Bijvoorbeeld:mkdir log chmod +w log