Sterownik ODBC SQL Server umożliwia połączenie Oracle na platformach Linux i UNIX z SQL Server lub SQL Azure. Jeśli zdecydujesz się na szyfrowanie połączenia sieciowego z aplikacji klienckich do SQL Server lub używasz SQL Azure, musisz użyć wersji TLS sterownika, która jest zawarta w dystrybucji sterowników ODBC SQL Server.
Jeśli nie używasz wersji TLS sterownika ODBC SQL Server do łączenia się z instancją SQL Server, która została skonfigurowana do żądania zaszyfrowanego połączenia, otrzymasz następujący błąd:
Client unable to establish connection: SSL requested but not supported
Jeśli używasz już sterownika ODBC Easysoft SQL Server z Oracle:
- W źródle danych SQL Server wskazanym przez
HS_FDS_CONNECT_INFO
w swoiminitSID.ora
, wprowadź następujące zmiany:- Zmień
Driver
od:Driver = Easysoft ODBC-SQL Server
do:
Driver = Easysoft ODBC-SQL Server SSL
- Dodaj te wiersze:
Encrypt = Yes TrustServerCertificate = Yes
- Zmień
- Jeśli wskażesz bibliotekę sterowników zamiast biblioteki Menedżera sterowników w
initSID.ora
, zmieńHS_FDS_SHAREABLE_NAME
wartość do:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Uruchom ponownie odbiornik Oracle.
Jeśli jesteś nowym użytkownikiem:
- Zainstaluj i uzyskaj licencję na sterownik ODBC programu SQL Server na komputerze, na którym zainstalowano Oracle.
Instrukcje dotyczące instalacji można znaleźć w dokumentacji sterownika ODBC.
Uwaga Musisz mieć zainstalowany na swoim komputerze menedżer sterowników unixODBC. Dystrybucja Easysoft zawiera wersję menedżera sterowników unixODBC, z którą przetestowano sterownik ODBC Easysoft SQL Server. Program instalacyjny sterownika Easysoft daje możliwość zainstalowania unixODBC.
- Utwórz źródło danych ODBC w /etc/odbc.ini, które łączy się z bazą danych SQL Server, do której chcesz uzyskać dostęp z Oracle®. Na przykład:
[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
- Użyj isql, aby przetestować nowe źródło danych. Na przykład:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
W wierszu polecenia wpisz „pomoc”, aby wyświetlić listę tabel. Aby wyjść, naciśnij return w pustym wierszu zachęty.
Jeśli nie możesz się połączyć, zapoznaj się z tym artykułem, aby uzyskać pomoc.
- Utwórz plik inicjujący DG4ODBC. Aby to zrobić, przejdź do
hs/admin
podkatalog. Na przykład:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Utwórz kopię pliku
initdg4odbc.ora
. Nazwij nowy plikinitmssql.ora
. - Upewnij się, że te parametry i wartości są obecne w Twoim pliku początkowym:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Zastąp my_mssql_odbc_dsn z nazwą źródła danych sterownika ODBC programu SQL Server, które łączy się z docelową instancją programu SQL Server. Na przykład
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Skomentuj wiersz, który umożliwia śledzenie DG4ODBC. Na przykład:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Dodaj wpis do
listener.ora
który tworzy SID_NAME dla DG4ODBC. Na przykład:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Dodaj wpis DG4ODBC do
tnsnames.ora
który określa SID_NAME utworzony w poprzednim kroku. Na przykład:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Zastąp oracle_host z nazwą hosta Twojej maszyny Oracle®.
- Uruchom (lub uruchom ponownie) nasłuchiwanie Oracle®. Na przykład:
lsnrctl stop lsnrctl start
- Połącz się ze swoją bazą danych Oracle® w SQL*Plus.
- W SQL*Plus utwórz łącze do bazy danych dla docelowej instancji SQL Server. Na przykład:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Notatki
- Jeśli masz problemy z połączeniem się z SQL Server z Oracle®, włącz śledzenie DG4ODBC i sprawdź pliki śledzenia zapisane w
hs/log
informator. Aby włączyć śledzenie DG4ODBC, dodaj wierszHS_FDS_TRACE_LEVEL = DEBUG
doinitmssql.ora
a następnie uruchom/zrestartuj program nasłuchujący Oracle®. Jeślilog
katalog nie istnieje, utwórz go. Na przykład:mkdir log chmod +w log