A minap felmerült a kér(d)és, hogy jó lenne Oracle adatbázisból "belátni" egy MS-SQL-be közvetlenül, nem pedig scriptekkel, ODBC-n pakolgatni fájlokon keresztül az adatokat.
Scenario egyszerűnek tűnt: Linux-ről odbc működik, adott user belát az MSSQL-be, megy a lekérdezés, scriptelve szépen be lehet tölteni adatokat.
Linux még CentOS7, rajta friss unixODBC-2.3.11-1.rh.x86_64 illetve msodbcsql17-17.10.5.1-1.x86_64 is helyet foglal, ODBC-n mindenből szépen elérhető a DSN=SQLSRV1 kiszolgáló, de a DB-link nem akarja az igazságot: tcpdumppal látszik, hogy még oda sem fordul az SQL-serverhez.
Itt tartok:
#hs/admin/initDEMMO.ora
HS_FDS_CONNECT_INFO = SQLSRV1
HS_FDS_TRACE_LEVEL = Debug
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
#network/admin/tnsnames.ora - részlet
DEMMO =
( DESCRIPTION =
( ADDRESS = ( PROTOCOL = TCP )
( HOST = orcl.local)
( PORT = 1545 )
)
( CONNECT_DATA =
( SID = DEMMO )
)
( HS = OK )
)
#network/admin/listener.ora - részlet
DEMMO =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl.local)(PORT = 1545))
SID_LIST_DEMMO =
(SID_LIST =
(SID_DESC=
(SID_NAME=DEMMO)
(ORACLE_HOME=/opt/oracle/product/19.3.0/)
(PROGRAM=dg4odbc)
(ENVS=LD_LIBRARY_PATH="/usr/lib64:/opt/oracle/product/19.3.0/lib/")
)
)
A DBlink a create database link SQLSRV1 connect to "mssqluser" identified by "mssqluserpass" using 'DEMMO'; készült.
Kérdés,hogy mit rontottam el/mit néztem be?
Tűzfal kifelé nincs, selinux permissive módban, a 1545-ös port szabad.