powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Гетероген oracle to mssql
25 сообщений из 37, страница 1 из 2
Гетероген oracle to mssql
    #38700973
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Знаю что тема много раз поднималась, весь форум уже перерыл и инет в том числе.
Имеем unixODBC freetds oracle 11 solaris 10 mssql 2008

-bash-3.2# cat /etc/odbcinst.ini
[FreeTDS]
Driver=/usr/local/lib/libtdsodbc.so
client charset=utf-8
UsageCount=23

-bash-3.2# cat /etc/odbc.ini
[MyMSSQL]
Driver=FreeTDS
Servername=MyMSSQL
TDS_Version=8.0
Database=BPMonline
UID=IBSOUser
PWD=IBSOUser
CHARSET=utf8

-bash-3.2# cat /usr/local/etc/freetds.conf
[MyMSSQL]
host = srv-mssql
port = 1433
tds version = 8.0
client charset = UTF-8
dump file = /tmp/freetds.log
dump file append = yes

-bash-3.2# isql -v MyMSSQL IBSOUser IBSOUser
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select count(*) from contact;
+------------+
| |
+------------+
| 43 |
+------------+
SQLRowCount returns 1
1 rows fetched
SQL>


до этого все как бы хорошо

а вот oracle подключаться никак не хочет:

-bash-3.2# cat /u/app/oracle/product/11.2.0/db_1/hs/admin/initMyMSSQL.ora
HS_FDS_CONNECT_INFO=MyMSSQL
HS_FDS_SHAREABLE_NAME = /usr/local/lib/libtdsodbc.so
HS_FDS_TRACE_LEVEL=255
set ODBCINI = /etc/odbc.ini
set ODBCINSTINI = /etc/odbcinst.ini
#HS_LANGUAGE=AMERICAN_AMERICA.UTF8
HS_LANGUAGE=RUSSIAN_RUSIA.UTF8
#HS_FDS_SQLLEN_INTERPRETATION=32


-bash-3.2# cat /u/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
HS =
(ADDRESS_LIST =
(ADDRESS= (PROTOCOL= TCP)(Host= 192.168.2.47 )(Port= 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCHS))
)
SID_LIST_HS =
(SID_LIST =
(SID_DESC =
(PROGRAM=dg4odbc)
(SID_NAME = MyMSSQL)
(ORACLE_HOME = /u/app/oracle/product/11.2.0/db_1/)
(ENVS="LD_LIBRARY_PATH=/u/app/oracle/product/11.2.0/db_1/lib:/usr/lib:/usr/local/lib/sparcv9/:/usr/local/lib:/usr/openwin/lib:/usr/dt/lib")
)
)
CONNECT_TIMEOUT_HS = 10
INBOUND_CONNECT_TIMEOUT_HS = 0
STARTUP_WAIT_TIME_HS = 0


sun04.oracle> tnsping MyMSSQL

TNS Ping Utility for Solaris: Version 11.2.0.3.0 - Production on 19-JUL-2014 12:19:27

Copyright (c) 1997, 2011, Oracle. All rights reserved.

Used parameter files:
/u/app/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.47)(PORT = 1522)) (CONNECT_DATA = (SID = MyMSSQL) (SERVICE_NAME = MyMSSQL)) (HS = OK))
OK (10 msec)


При попытке сделать заброс из дблинка получаем:
SQL> select count(*) from "Contact"@dl_terrasoft;
select count(*) from "Contact"@dl_terrasoft
*
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-02063: preceding line from DL_TERRASOFT

Кусок трассировки:

Exiting hgolofns at 2014/07/19-10:51:22
Failed to load ODBC library symbol: /usr/local/lib/libtdsodbc.so(SQLDescribeParam)
Exiting hgolofn, rc=28500 at 2014/07/19-10:51:22
Exiting hgoinit, rc=28500 with error ptr FILE:hgoinit.c LINE:420 ID:Loading ODBC aray of function ptrs
hostmstr: 61480960: HOA After hoainit
RPC Calling nscontrol(0), rc=0
hostmstr: 61497344: RPC Before Exit Agent
hostmstr: 61513728: HOA Before hoaexit
Entered hgoexit
HS Gateway: NULL connection context at exit
Exiting hgoexit, rc=0 with error ptr FILE:hgoexit.c LINE:110 ID:Connection context
hostmstr: 61530112: HOA After hoaexit
hostmstr: 61546496: RPC After Exit Agent


тут вроде все красиво:

sun04.oracle> file "/usr/local/lib/libtdsodbc.so"
/usr/local/lib/libtdsodbc.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped, no debugging information available
sun04.oracle> ldd "/usr/local/lib/libtdsodbc.so"
libodbcinst.so.2 => /usr/local/lib/libodbcinst.so.2
libthread.so.1 => /lib/64/libthread.so.1
libnsl.so.1 => /lib/64/libnsl.so.1
libsocket.so.1 => /lib/64/libsocket.so.1
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /usr/local/lib/sparcv9//libgcc_s.so.1
libmp.so.2 => /lib/64/libmp.so.2
libmd.so.1 => /lib/64/libmd.so.1
libscf.so.1 => /lib/64/libscf.so.1
libdoor.so.1 => /lib/64/libdoor.so.1
libuutil.so.1 => /lib/64/libuutil.so.1
libgen.so.1 => /lib/64/libgen.so.1
libm.so.2 => /lib/64/libm.so.2
/lib/sparcv9/../libm/sparcv9/libm_hwcap1.so.2
/platform/sun4v/lib/sparcv9/libc_psr.so.1
/platform/sun4v/lib/sparcv9/libmd_psr.so.1
sun04.oracle>

sun04.oracle> file /u/app/oracle/product/11.2.0/db_1/bin/dg4odbc
/u/app/oracle/product/11.2.0/db_1/bin/dg4odbc: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped



перепробовал несколько версий freetds и unixODBC эффекта нет
Раньше уже встречал подобную проблему на linux там решалось установкой других вариантов ODBC. На солярке для подключения к mssql не знаю что можно еще использовать кроме freetds.
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38700975
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuperMultikHS_FDS_SHAREABLE_NAME = /usr/local/lib/libtdsodbc.so

Здесь лучше указывать не непосредственно драйвер, а ODBC Manager, который способен
согласовать версии интерфейса драйвера и приложения. Пиши тут libodbc.so.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38700984
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При таком варианте не силльно лучше получается

SQL> select count(*) from "Contact"@dl_terrasoft;
select count(*) from "Contact"@dl_terrasoft
*
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[unixODBC][Driver Manager]Data source name not found, and no default driver
specified {IM002}
ORA-02063: preceding 2 lines from DL_TERRASOFT


SQL>


Exiting hgogenconstr, rc=0 at 2014/07/19-13:09:17
Entered hgopoer at 2014/07/19-13:09:17
hgopoer, line 231: got native error 0 and sqlstate IM002; message follows...
[unixODBC][Driver Manager]Data source name not found, and no default driver specified {IM002}
Exiting hgopoer, rc=0 at 2014/07/19-13:09:17
hgocont, line 2754: calling SqlDriverConnect got sqlstate IM002
Exiting hgocont, rc=28500 at 2014/07/19-13:09:17 with error ptr FILE:hgocont.c LINE:2774 ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2014/07/19-13:09:17 with error ptr FILE:hgolgon.c LINE:801 ID:Calling hgocont
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38700985
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sun04.oracle> cat /u/app/oracle/product/11.2.0/db_1/hs/admin/initMyMSSQL.ora
HS_FDS_CONNECT_INFO=MyMSSQL
#HS_FDS_SHAREABLE_NAME = /usr/local/lib/libtdsodbc.so
HS_FDS_SHAREABLE_NAME = /usr/local/lib/libodbc.so
HS_FDS_TRACE_LEVEL=255
set ODBCINI = /etc/odbc.ini
set ODBCINSTINI = /etc/odbcinst.ini
#HS_LANGUAGE=AMERICAN_AMERICA.UTF8
HS_LANGUAGE=RUSSIAN_RUSIA.UTF8
#HS_FDS_SQLLEN_INTERPRETATION=32
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38700996
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuperMultikData source name not found
Ну, не находит он DSN с каким-то именем. Врубай трассировку ODBC если таковая есть и
смотри какое имя от него Оракул хочет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701057
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuperMultikПри таком варианте не сильно лучше получается


Я использую unix ODBC oт EasySoft, но сути это не меняет. В listener ENVS кроме ODBC библиотек надо еще прописывать environment variables для ODBC. В моем случае:

ENVS="LD_LIBRARY_PATH=/himhqa02/oracle/product/11.1.0/lib:/himhqa02/apps/easysoft/lib:/himhqa02/apps/easysoft/unixODBC/lib:/himhqa02/apps/easysoft/sqlserver,ODBCSYSINI=/himhqa02/apps/odbc,EASYSOFT_ROOT=/himhqa02/apps/easysoft"

SY.
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701095
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну да не находит DSN он именно с libodbc.so

трассировка ODBC вроде как включена только файл создается исключительно при пользовании isql, при запросах через dg4odbc в лог ничего не пишется.

поставил ODBCSYSINI, изменений никаких.
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701096
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuperMultik,

ODBSSYSINI и EASYSOFT_ROOT это у EasySoft ODBC for Unix а какие у unixODBC freetds это ты и должен выяснить.

SY.
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701101
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuperMultikпри запросах через dg4odbc в лог ничего не пишется.
Значит он работает от такой учётки или с такими переменными окружения, что не может найти
твой odbc.ini.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701106
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://community.oracle.com/thread/2221685?tstart=0
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701162
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не понятно почему не находит в initMyMSSQL.ora четко же прописано
set ODBCINI=/etc/odbc.ini
set ODBCINSTINI=/etc/odbcinst.ini

и если ставить библиотеку
libtdsodbc.so
то вроде как находит

ну и еще до кучи в .profile
прописано
export ODBCSYSINI=/etc
export ODBCINI=/etc/odbc.ini

тут тоже добавил
sun04.oracle> cat /u/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
HS =
(ADDRESS_LIST =
(ADDRESS= (PROTOCOL= TCP)(Host= 192.168.2.47 )(Port= 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCHS))
)
SID_LIST_HS =
(SID_LIST =
(SID_DESC =
(PROGRAM=dg4odbc)
(SID_NAME = MyMSSQL)
(ORACLE_HOME = /u/app/oracle/product/11.2.0/db_1/)
(ENVS="LD_LIBRARY_PATH=/u/app/oracle/product/11.2.0/db_1/lib:/usr/lib:/usr/local/lib/sparcv9/:/usr/local/lib:/usr/openwin/lib:/usr/dt/lib,ODBCSYSINI=/etc,ODBCINI=/etc/odbc.ini,ODBCINSTINI=/etc/odbcinst.ini")
)
)
CONNECT_TIMEOUT_HS = 10
INBOUND_CONNECT_TIMEOUT_HS = 0
STARTUP_WAIT_TIME_HS = 0


эффекта никакого нет

SQL> select count(*) from "Contact"@dl_terrasoft;
select count(*) from "Contact"@dl_terrasoft
*
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[unixODBC][Driver Manager]Data source name not found, and no default driver
specified {IM002}
ORA-02063: preceding 2 lines from DL_TERRASOFT
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701168
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с библиотекой тоде все нормально вроде
sun04.oracle> file /usr/local/lib/libodbc.so
/usr/local/lib/libodbc.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped, no debugging information available
sun04.oracle> ldd /usr/local/lib/libodbc.so
libthread.so.1 => /lib/64/libthread.so.1
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /usr/local/lib/sparcv9//libgcc_s.so.1
libm.so.2 => /lib/64/libm.so.2
/lib/sparcv9/../libm/sparcv9/libm_hwcap1.so.2
/platform/sun4v/lib/sparcv9/libc_psr.so.1

что то с strace ничего не выходит, файл лога не создается

-bash-3.2# ps -Af |grep hs
oracle 1845 1 0 Jul 19 ? 0:01 /u/app/oracle/product/11.2.0/db_1/bin/tnslsnr hs -inherit

-bash-3.2# strace -fae -o /tmp/dg4odbc.log -p 1845

что не так делаю?
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701188
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Какой разрядности у тебя Oracle?
2) ls -l /etc/odbc.ini
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38701203
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sun04.oracle> uname -a
SunOS sun04 5.10 Generic_147440-19 sun4v sparc sun4v


Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production


-bash-3.2# ls -l /etc/odbc.ini
-rw-rw-r-- 1 root root 119 Jul 19 09:29 /etc/odbc.ini
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38703947
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в общем проблему решил
в солярке аналог strace
truss -fae -o /tmp/dg4odbc.log -p 1845

проблема была вот в чем:

19532/1: open("/etc//etc/odbcinst.ini", O_RDONLY) Err#2 ENOENT
19532/1: open("/etc//etc/odbcinst.ini", O_RDWR|O_CREAT|O_TRUNC, 0666) Err#2 ENOENT
19532/1: time() = 1406111184
19532/1: open("/etc//etc/odbcinst.ini", O_RDONLY) Err#2 ENOENT
19532/1: open("/etc//etc/odbcinst.ini", O_RDWR|O_CREAT|O_TRUNC, 0666) Err#2 ENOENT
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38706376
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наткнулся еще на одну проблему:

SQL> select "Name" from "Contact"@dl_terrasoft limit 10;
select "Name" from "Contact"@dl_terrasoft limit 10
*
ERROR at line 1:
ORA-00933: SQL command not properly ended


SQL> select "Name" from "Contact"@dl_terrasoft;
ERROR:
ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.47)(PORT=1522))(CONNECT_
DATA=(SID=MyMSSQL)(SERVICE_NAME=MyMSSQL)))
ORA-02063: preceding line from DL_TERRASOFT
Process ID: 1469
Session ID: 449 Serial number: 51117



no rows selected


при этом
SQL> select count(*) from "Contact"@dl_terrasoft;

COUNT(*)
----------
45


никаких фаерволов между серверами нет

sun04.oracle> cat /u/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
CONNECT_TIMEOUT_LISTENER = 10
INBOUND_CONNECT_TIMEOUT_LISTENER = 0
STARTUP_WAIT_TIME_LISTENER = 0

HS =
(ADDRESS_LIST =
(ADDRESS= (PROTOCOL= TCP)(Host= 192.168.2.47 )(Port= 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCHS))
)

SID_LIST_HS =
(SID_LIST =
(SID_DESC =
(PROGRAM=dg4odbc)
(SID_NAME = MyMSSQL)
(ORACLE_HOME = /u/app/oracle/product/11.2.0/db_1/)
(ENVS="LD_LIBRARY_PATH=/u/app/oracle/product/11.2.0/db_1/lib:/usr/lib:/usr/local/lib/sparcv9/:/usr/local/lib:/usr/openwin/lib:/usr/dt/lib,ODBCSYSINI=/etc,ODBCINI=/etc/odbc.ini,ODBCINSTINI=/etc/odbcinst.ini")
)
)

SAVE_CONFIG_ON_STOP_LISTENER = TRUE
TRACE_LEVEL_LISTENER = OFF
DIRECT_HANDOFF_TTC_LISTENER=OFF
USE_CKPFILE_LISTENER = OFF

может кто сталкивался с похожей проблемой?
трейс прикрепил в файле
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38706386
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извиняюсь конечно же:
CONNECT_TIMEOUT_HS = 10
INBOUND_CONNECT_TIMEOUT_HS = 0
STARTUP_WAIT_TIME_HS = 0

HS =
(ADDRESS_LIST =
(ADDRESS= (PROTOCOL= TCP)(Host= 192.168.2.47 )(Port= 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROCHS))
)

SID_LIST_HS =
(SID_LIST =
(SID_DESC =
(PROGRAM=dg4odbc)
(SID_NAME = MyMSSQL)
(ORACLE_HOME = /u/app/oracle/product/11.2.0/db_1/)
(ENVS="LD_LIBRARY_PATH=/u/app/oracle/product/11.2.0/db_1/lib:/usr/lib:/usr/local/lib/sparcv9/:/usr/local/lib:/usr/openwin/lib:/usr/dt/lib,ODBCSYSINI=/etc,ODBCI
NI=/etc/odbc.ini,ODBCINSTINI=/etc/odbcinst.ini")
)
)

SAVE_CONFIG_ON_STOP_HS = TRUE
TRACE_LEVEL_HS = OFF
DIRECT_HANDOFF_TTC_HS=OFF
USE_CKPFILE_HS = OFF


но это к сожалению никак не повлияло на результат
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38706388
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне помогло
HS_FDS_SUPPORT_STATISTICS = FALSE
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #38706390
SuperMultik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
предыдущий параметр был ни при чем решилось все так:
HS_FDS_FETCH_ROWS=1
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Гетероген oracle to mssql
    #39941207
el_andr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, помогите решить ту же проблему. Понял, что самому уже не разобраться.
Есть Oracle под Linux 11.2.0.4 нужен DBLINK с MSSQL2012
Всё по инструкции
Драйвера и freetds и Microsoft ODBC Driver for SQL Server
cat /etc/odbc.ini

[MSSQLDSN]
Description = MSSQL SERVER
Driver = FreeTDS
;Driver = MSSQL17
Trace = No
Servername = MEDSQL
Database = MYDB
Port = 1433
;TDS version = 1

[MSSQLDSN2]
Description = MSSQL SERVER
Driver = MSSQL17
Trace = No
Server = tcp:mssql.dom ,1433
Database = MYDB


Оба варианта работают.
#isql -v MSSQLDSN
#isql -v MSSQLDSN2

Дохожу до создания DBLINK
cat $ORACLE_HOME/HS/admin/initMSSQL.ora
HS_FDS_CONNECT_INFO = MSSQLDSN
HS_FDS_TRACE_LEVEL = 0
#HS_FDS_TRACE_FILE_NAME = /tmp/dg4odbc.trc
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
set ODBCINI = /etc/odbc.ini
set ODBCINSTINI = /etc/odbcinst.ini

listneter.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/base/product)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = MSSQL)
(ORACLE_HOME = /oracle/base/product)
(PROGRAM = dg4odbc)
(ENVS=LD_LIBRARY_PATH = /oracle/base/product/lib:/lib64:/usr/lib64:/lib:/usr/lib:/etc/freetds/lib)
)
)

tnsnames.ora
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA = (SID = MSSQL))
(HS = OK)
)

SQL> create database link HSLINK connect to "user" identified by "password" using 'TEST';

При тесте получаю вышеупомянутую в этой теме ошибку
ORA-28500: соединение ORACLE с посторонней системой выдало сообщение: [unixODBC][Driver Manager]Data source name {I} ORA-02063: предшествующий 2 lines из HSLINK

Я так понимаю, что под oracle он не может обнаружить ODBC драйвера?
При этом под пользователем oracle работает
#isql -v MSSQLDSN
#isql -v MSSQLDSN2

[oracle@host ~]$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/oracle/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

Я уже честно говоря за неделю запутался совсем, нужен взгляд со стороны.
Спасибо.
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #39941217
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давно уже не настраивал, могу ошибаться, но

Код: powershell
1.
(SID_NAME = MSSQL)



это должно быть имя ODBC-соединения.

[MSSQLDSN]
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #39941221
el_andr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,

Первоначально так и было
listener (SID_NAME = MSSQLDSN)
tnsnames (CONNECT_DATA = (SID = MSSQLDSN))

Результат тот же.
файл в hs/admin и initMSSQLDSN.ora и initMSSQL.ora
уже столько вариантов перепробовал, поэтому показал финальный
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #39941224
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я забил на общесистемные настройки FreeTDS и прописал локальные в $ORACLE_HOME/hs/admin/
initmssql1c.ora
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = mssql1c
HS_FDS_TRACE_LEVEL = 0
HS_FDS_SHAREABLE_NAME = /usr/lib/64/libodbc.so

HS_KEEP_REMOTE_COLUMN_SIZE = LOCAL
HS_NLS_NCHAR=UCS2
#HS_LANGUAGE=AMERICAN_AMERICA.CL8MSWIN1251
HS_FDS_REMOTE_DB_CHARSET=CL8MSWIN1251

#
# ODBC specific environment variables
#
set ODBCINI=/u/app/oracle/product/ora11gr2/hs/admin/odbc.ini


#
# Environment variables required for the non-Oracle system
#
set LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/64

odbc.ini
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
[mssql1c]
Driver          = /usr/local/lib/libtdsodbc.so
Database        = ...
DESCRIPTION     = MS SQL 1C Database
SERVER          = ...
PORT            = 1433
#UID             =
#PASSWORD        =
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #39941227
el_andr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не совсем понятно в чём же была проблема выше и как решилась

SuperMultik,

в общем проблему решил
в солярке аналог strace
truss -fae -o /tmp/dg4odbc.log -p 1845

проблема была вот в чем:

19532/1: open("/etc//etc/odbcinst.ini", O_RDONLY) Err#2 ENOENT
19532/1: open("/etc//etc/odbcinst.ini", O_RDWR|O_CREAT|O_TRUNC, 0666) Err#2 ENOENT
19532/1: time() = 1406111184
19532/1: open("/etc//etc/odbcinst.ini", O_RDONLY) Err#2 ENOENT
19532/1: open("/etc//etc/odbcinst.ini", O_RDWR|O_CREAT|O_TRUNC, 0666) Err#2 ENOENT
...
Рейтинг: 0 / 0
Гетероген oracle to mssql
    #39941231
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuperMultik,


-bash-3.2# cat /etc/odbc.ini
[MyMSSQL]
Driver=FreeTDS
Servername=MyMSSQL <- заменить на TDSMSSQL
TDS_Version=8.0
Database=BPMonline
UID=IBSOUser
PWD=IBSOUser
CHARSET=utf8

-bash-3.2# cat /usr/local/etc/freetds.conf
[MyMSSQL] <- попробовать заменить на TDSMSSQL
host = srv-mssql
port = 1433
tds version = 8.0
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Гетероген oracle to mssql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]