kromm77 icon

ORACLE : Create Database Link to a SQL SERVER DB - Procedure

kromm77 | PRO | 08/14/25 06:29:28 AM UTC (Edited) | 0 ⭐ | 596 👁️ | Never ⏰ | []
text |

1.92 KB

|

None

|

0 👍

/

0 👎

Working with oracle 11.2.0.1.0 on Windows 2008 R2
Example Values :
 * 1.2.3.4 - ORACLE db server IP address  
 * D:\Oracle\Administrator\product\11.2.0\dbhome_1 - ORACLE database directory
 * 15.16.17.18 - SQL Server IP address
 * SQLSRV_DB_NAME - SQL Server db name
 * SQLSRV_DB_USER - SQL Server db user
 * SQLSRV_DB_PWD - SQL Server db password
 * ODBC_DSN - ODBC DSN for connecting to SQL Server
 * SQLSRV_DB_TNS - tnsname 
 * SQLSRV_DB_NAME_LINK - database link
 Start C:\Windows\System32\odbcad32.exe
	Add SQL Server ODBC System DSN with name ODBC_DSN - Check connection
 Start C:\Windows\SysWOW64\odbcad32.exe
	Add SQL Server ODBC System DSN with name ODBC_DSN - Check connection
 Create in  D:\Oracle\Administrator\product\11.2.0\dbhome_1\hs\admin\initODBC_DSN.ora with this text inside
   HS_FDS_CONNECT_INFO = ODBC_DSN 
  HS_FDS_TRACE_LEVEL = off
 Modify D:\Oracle\Administrator\product\11.2.0\dbhome_1\srvm\admin\init.ora  
	global_names = FALSE
 Restart OracleDatabaseService
   Append in file D:\Oracle\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
 SID_LIST_LISTENER=
  (SID_LIST=
      (SID_DESC=
         (SID_NAME=ODBC_DSN)
         (ORACLE_HOME=D:\Oracle\Administrator\product\11.2.0\dbhome_1)
         (PROGRAM=dg4odbc)
      )
  )
 Append in file "D:\Oracle\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora"
 SQLSRV_DB_TNS=
   (DESCRIPTION =
    (ADDRESS_LIST =
     (ADDRESS = 
        (PROTOCOL = TCP)
 	(HOST = 1.2.3.4)
	(PORT = 1521)
     )
    )
    (CONNECT_DATA = 
      (SID=ODBC_DSN)
    )
    (HS=OK)
   )
  Reload in command prompt listener : 
	lsnrctl stop
	lsnrctl start
  Create Database Link 
 CREATE PUBLIC DATABASE LINK SQLSRV_DB_NAME_LINK 
 CONNECT TO SQLSRV_DB_USER
 IDENTIFIED BY "SQLSRV_DB_PWD"  -- beware has to be -> "password" <- not -> password <-
using 'SQLSRV_DB_TNS '
 Test 
	select * from dual@SQLSRV_DB_NAME_LINK

Comments