|
|
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Гуру подскажите плиз. Имеем 2 сервера Oracle 11.2.0.4 под Oracle Linux На обоих настроено подключение к серверу MSSQL 2008. Линки абсолютно одинаковые на обоих серверах. Однако когда делаю запрос к mssql - то один сервер отрабатывает нормально, а вот второй возвращает только одно поле из запроса select *..., причем последнее. Подобной проблемы в сети не нашел. В HS логах второго сервера видно, что он видит все поля таблицы, но потом почему-то берет только последнее Причем видно, что он не увеличивает номер колонки при переборе полей Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Подскажите, в какую сторону копать плиз.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 11:14 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, почему бы не переписать select * на набор необходимых полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 12:25 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Потому-что при попытке выбрать поле из тех, которые теряются - оракл говорил - нет такого поля. Какой-то непонятный глюк HS, поскольку через isql великолепно выбираются все поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 13:45 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий ОкишевПотому-что при попытке выбрать поле из тех, которые теряются - оракл говорил - нет такого поля. Delimited identifiers?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 13:57 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
HS пропускает поля неподдерживаемого типа или неподдерживаемое ораклом имя. Может быть глюк связан с различием nls или одна БД пропатчена. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:20 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Сами инсталяции оракла - абсолютно идентичны. Смущает в трассировке то, что при перечислении колонок (красным выделил) на том сервере, где глюк - HS не увеличивает номер колонки, а везде пишет "Column:1" В то время как тот, который нормально работает Column:1,Column:2 и т.д... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:25 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, Это происходит со всеми таблицами или конкретной одной? Mssql сервер тоже один для обоих баз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:34 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Это происходит со всеми таблицами. mssql сервер и база одна и та-же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:36 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, м.б. миллисекунды потребовались, тогда посмотри этот тип данных у них Как получить дату с миллисекундами ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:50 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
dba123, м.б. миллисекунды потребовались, тогда посмотри этот тип данных у них Как получить дату с миллисекундами ? Какое это имеет отношение к данной теме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:02 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Как тогда объяснить, что один сервер нормально работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:04 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, 1) Сравни переменные окружения процесса 2) Проверь версии библиотек и размер Код: plsql 1. 2. 3) перелинкуй hs на битом сервере и перезалей его пакеты не поможет, тогда 4) Чтобы локализовать проблему, создай DBLINK на HS Listener с битого сервера на нормальный и наоборот что скажет? p.s. MSSQL база одна и та же для обоих серверов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:11 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, А Linux / tds на обоих серверах одинаковые? У меня было похожее на SLES 12SP3 возвращалась 1 колонка, при этом на SLES11SP4 всё работало. На SLES 12SP3 поставил dg4odbc от oracle 12.2 с ним нормально Сам Oracle 11.2.0.4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:13 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Завтра проверю и отпишусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:43 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Библиотеки оракла, dg4odbc, tds - идентичные. Разница есть только в самой системе. На том, который работает стоит Enterprise Linux Enterprise Linux Server release 5.9 (Carthage) , а на том который нет - Enterprise Linux Enterprise Linux Server release 5.11 (Carthage) Остально идентично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 07:11 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, Проверял?4) Чтобы локализовать проблему, создай DBLINK на HS Listener с битого сервера на нормальный и наоборот что скажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 10:42 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
При отсылке на листнер второго сервера - работает корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 10:52 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, + листинги посмотреть для двух серверов и с одного рабочего места Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 10:58 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Наоборот - вернул только одну колонку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 10:59 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, 1) Проверь конфигурацию ODBC и HS файлы конфигурации совсем одинаковые? Версия драйвера? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 2) Перелинкуй Код: plsql 1. 2. p.s. если есть доступ, то HS Listener удобнее запустить на самом MSSQL сервере для это ставишь только ПО и настраиваешь listener и HS, базы никакой не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 11:45 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
А можно руководство по настройке на стороне MSSQL? С листенерами на стороне оракла - все понятно, а вот с настройкой на стороне mssql - инфа слишком разница от источника к источнику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 12:56 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев слишком разницаразнится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:41 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий ОкишевА можно руководство по настройке на стороне MSSQL? С листенерами на стороне оракла - все понятно, а вот с настройкой на стороне mssql - инфа слишком разница от источника к источнику. В смысле как настроить доступ с MSSQL на oracle, или как настроить Oracle HS listener на MS Windows сервере? Если первое: Connecting SQL Server and Oracle Using Linked Servers Если второе, то: 1) Настраиваешь System Wide ODBC на MS SQL 2) Ставишь Oracle Rdbms Software only 3) Конфигуришь Listener (netca) или просто запустив lsnrctl start, служба создаст lsnrctl, если у учетной записи есть такие права 4) настраиваешь HS как обычно 5) Создаешь DBLINK указывая HOST на MS windows где запущен этот Oracle HS Listener Кстати, в качестве такого HS сервера может выступать даже клиентская, бо нагрузка минимальная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 13:54 |
|
||
|
Связка Oracle с MSSql через FreeTDS
|
|||
|---|---|---|---|
|
#18+
Анатолий Окишев, для понятности, HS Соединение в общем случае можно описать следующей цепочкой (В частном случае Узлы #1 #2 #3 могут находится на одной машине): Красный цвет - ORACLE_HOME RDBMS Зеленый цвет - ORACLE_HOME HS Agent Синий цвет - ПО внешнего клиента, в простейшем случае ODBC Предполагается все файлы конфигурации рассположены по умолчанию. Код: plaintext 1. -> TNS Запись (ORACLE_HOME_RDBMS/network/admin/tnsnames.ora) -> Узел #2 Oracle HS Agent (hsodbc) -> Oracle TNS Listener -> -> SID_DESC Listener Запись (ORACLE_HOME_HS/network/admin/listener.ora)-> HS agent -> -> FDC_CONNECT_INFO запись (ORACLE_HOME_HS/hs/admin/initHSSID.ora) -> -> ODBC или OLE библиотеки -> -> OtherDb Client -> Узел #3 Other DB Server-> Other DB Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2017, 14:04 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39574284&tid=1884687]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 533ms |

| 0 / 0 |
