Le pilote ODBC SQL Server vous permet de connecter Oracle sur les plates-formes Linux et UNIX à SQL Server ou SQL Azure. Si vous décidez de chiffrer la connexion réseau de vos applications clientes à SQL Server, ou si vous utilisez SQL Azure, vous devez utiliser la version TLS du pilote, qui est incluse dans la distribution du pilote ODBC SQL Server.
Si vous n'utilisez pas la version TLS du pilote ODBC SQL Server pour vous connecter à une instance SQL Server qui a été configurée pour demander une connexion chiffrée, vous obtiendrez cette erreur :
Client unable to establish connection: SSL requested but not supported
Si vous utilisez déjà le pilote ODBC Easysoft SQL Server avec Oracle :
- Dans la source de données SQL Server pointée par
HS_FDS_CONNECT_INFO
dans votreinitSID.ora
, apportez les modifications suivantes :- Modifier le
Driver
de :Driver = Easysoft ODBC-SQL Server
à :
Driver = Easysoft ODBC-SQL Server SSL
- Ajoutez ces lignes :
Encrypt = Yes TrustServerCertificate = Yes
- Modifier le
- Si vous pointez vers la bibliothèque de pilotes plutôt que vers la bibliothèque du gestionnaire de pilotes dans
initSID.ora
, modifiez leHS_FDS_SHAREABLE_NAME
valeur à :install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Redémarrez l'écouteur Oracle.
Si vous êtes un nouvel utilisateur :
- Installez et mettez sous licence le pilote ODBC SQL Server sur la machine sur laquelle Oracle est installé.
Pour obtenir des instructions d'installation, consultez la documentation du pilote ODBC.
Remarque Le gestionnaire de pilotes unixODBC doit être installé sur votre machine. La distribution Easysoft inclut une version du gestionnaire de pilotes unixODBC avec lequel le pilote ODBC Easysoft SQL Server a été testé. Le programme d'installation du pilote Easysoft vous offre la possibilité d'installer unixODBC.
- Créez une source de données ODBC dans /etc/odbc.ini qui se connecte à la base de données SQL Server à laquelle vous souhaitez accéder depuis Oracle®. Par exemple :
[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
- Utilisez isql pour tester la nouvelle source de données. Par exemple :
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
À l'invite, tapez "help" pour afficher une liste de tables. Pour quitter, appuyez sur retour dans une ligne d'invite vide.
Si vous ne parvenez pas à vous connecter, consultez cet article pour obtenir de l'aide.
- Créez un fichier d'initialisation DG4ODBC. Pour cela, passez au
hs/admin
sous-répertoire. Par exemple :cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Créez une copie du fichier
initdg4odbc.ora
. Nommez le nouveau fichierinitmssql.ora
. - Assurez-vous que ces paramètres et valeurs sont présents dans votre fichier init :
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Remplacez my_mssql_odbc_dsn avec le nom d'une source de données de pilote ODBC SQL Server qui se connecte à l'instance SQL Server cible. Par exemple
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Commentez la ligne qui active le traçage DG4ODBC. Par exemple :
#HS_FDS_TRACE_LEVEL = <trace_level>
- Ajouter une entrée à
listener.ora
qui crée un SID_NAME pour DG4ODBC. Par exemple :SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Ajouter une entrée DG4ODBC à
tnsnames.ora
qui spécifie le SID_NAME créé à l'étape précédente. Par exemple :MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Remplacez oracle_host avec le nom d'hôte de votre machine Oracle®.
- Démarrez (ou redémarrez) l'écouteur Oracle®. Par exemple :
lsnrctl stop lsnrctl start
- Connectez-vous à votre base de données Oracle® dans SQL*Plus.
- Dans SQL*Plus, créez un lien de base de données pour l'instance SQL Server cible. Par exemple :
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Remarques
- Si vous rencontrez des problèmes pour vous connecter à SQL Server à partir d'Oracle®, activez le suivi DG4ODBC et vérifiez les fichiers de suivi écrits dans
hs/log
annuaire. Pour activer le traçage DG4ODBC, ajoutez la ligneHS_FDS_TRACE_LEVEL = DEBUG
àinitmssql.ora
puis démarrez/redémarrez l'écouteur Oracle®. Si lelog
répertoire n'existe pas, créez-le. Par exemple :mkdir log chmod +w log