Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / JDBC подключение через Tomcat для использования источника данных mapviewer / 14 сообщений из 14, страница 1 из 1
11.05.2021, 19:19
    #40069445
kochhar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
Добрый день!

Подскажите, пожалуйста, где может быть ошибка, связанная с поиском источника для данных oracle mapviewer. Использую совместно с сервером Tomcat 9, версия oracle 12c, mapviewer 19.

У Tomcat в файле context.xml добавляю (хост, сид, логин и пароль ставлю верные)
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
      
<Resource name="SPB_MAPS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.OracleDriver"
            url="jdbc:oracle:thin:@host:1521:[sid]"
            username="usrname"
            password="passw"
            maxTotal="20"
            maxIdle="10"
            maxWaitMillis="-1"
            />


в файле web.xml добавляю
Код: xml
1.
2.
3.
4.
5.
6.
    <resource-ref>
        <description>Oracle Datasource example</description>
        <res-ref-name>SPB_MAPS</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>


В папку lib добавляю ojdbc7, соответствующий 12 версии оракла.
Затем в файле приложения mapviewer mapViewerConfig.xml добавляю
Код: xml
1.
2.
3.
4.
5.
6.
7.
  <map_data_source name="SPB_MAPS"
                   container_ds="SPB_MAP"
                   number_of_mappers="5"
                   allow_jdbc_theme_based_foi="true"
                   editable="false"
                   url="jdbc:oracle:thin:@[some host]:1521:[some sid]"
   />


и
Код: xml
1.
2.
3.
4.
    <data_source name="SPB_MAPS">
       <allow_predefined_themes>true</allow_predefined_themes>
       <allow_dynamic_themes>true</allow_dynamic_themes>  
    </data_source>


Сохраняю, перезагружаю приложение.
После всех действий на вкладке Data sources все еще отображается информация об отсутствии источника данных.
Впервые столкнулся с нуждой работать с серверами и запускать какие-либо приложения на них, от этого проблематично со всем разбираться.
Весь труд требуется для того, чтобы впоследствие отобразить построенные маршруты с помощью Oracle Spatial на карте для лучшей визуализации.
...
Рейтинг: 0 / 0
11.05.2021, 19:48
    #40069453
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
Лет 7 назад работал с MapViewer'ом, проблем никаких не было. Все делал по инструкции.

Например глядя в доку
https://docs.oracle.com/middleware/12212/lcm/JIMPV/vis_start.htm#CHDHDBFB

1. совершенно не понятно, почему у Вас из конфигов пользователь и пароль исчез.
2. если же ссылка на container_ds, то непонятно, а нафига url

Я бы, все же сначала по минимому сложности бы настрол. Все в конфигах Map Viewer, без всяких серверных/томкатовских DS. IMHO
...
Рейтинг: 0 / 0
12.05.2021, 14:12
    #40069618
kochhar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
Leonid Kudryavtsev,

Спасибо! попытался настроить конкретно через сам mapviewer по ссылке из документации, но он все равно не видит соединения. Насколько я понимал, из-за того, что я деплою его как веб-приложение на локальном сервере Tomcat, нужно и сами настройки сервера подгонять под соединение с базой данных. я в этом ошибался?
...
Рейтинг: 0 / 0
12.05.2021, 14:28
    #40069623
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
kochhar

на локальном сервере Tomcat, нужно и сами настройки сервера подгонять под соединение с базой данных. я в этом ошибался?

данную фразу не понял

если прописать соединение через JDBC, то Tomcat тут вообще не при делах будет. IMHO & AFAIK

kochhar

деплою его как веб-приложение

Насколько я помню, если деплоится WAR'ник, то конфиг лежит в самом WAR'нике. Т.е. менять нужно внутри WAR'ника

Вынуть из WAR'ника конфиг (pkzip или winrar), поправить, запаковать обратно (pkzip или winrar u /обновить архив/)

p.s. могу ошибаться, т.к. вроде в последних версиях MapViewer с которыми сталкивался, что то в этом плане поменялось. Но через изменения конфига в war'нике все равно должно работать.
p.p.s. AFAIK WAR это разновидность ZIP архива.
...
Рейтинг: 0 / 0
12.05.2021, 14:47
    #40069633
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
kochhar
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
      
<Resource name="SPB_MAPS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.OracleDriver"
 ==>           url="jdbc:oracle:thin:@host:1521:[sid]"
            username="usrname"
            password="passw"
            maxTotal="20"
            maxIdle="10"
            maxWaitMillis="-1"
            />


Пометил ошибку в конфиге.
"Сегодня в двубортном уже никто не воюет" (с).
Подключиться к PDB через SID вообще невозможно, к контейнеру - не рекомендуется.

Для нормального подключения требуется не SID, а SERVICE NAME.
Строчка будет иметь вид:
url="jdbc:oracle:thin:@//hostName:1521/serviceName"
...
Рейтинг: 0 / 0
12.05.2021, 14:53
    #40069638
SeaGate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
andrey_anonymousПодключиться к PDB через SID вообще невозможно, к контейнеру - не рекомендуется.
USE_SID_AS_SERVICE_listener_name
До:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
[oracle@rac1 ~]$ sqlplus tc/tc@"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1522)) (CONNECT_DATA = (SID = pdb1)))"

SQL*Plus: Release 19.0.0.0.0 - Production on Wed May 12 11:50:33 2021
Version 19.11.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

ERROR:
ORA-12505: TNS:listener does not currently know of SID given in connect
descriptor


Enter user-name: ^C


После:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[oracle@rac1 ~]$ sqlplus tc/tc@"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1522)) (CONNECT_DATA = (SID = pdb1)))"

SQL*Plus: Release 19.0.0.0.0 - Production on Wed May 12 11:51:23 2021
Version 19.11.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

Last Successful login time: Wed May 12 2021 11:19:59 +00:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.11.0.0.0

SQL>

...
Рейтинг: 0 / 0
12.05.2021, 14:57
    #40069642
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
Не надо учить плохому :)
Этот параметр суть костыль для легаси, где захардкоден SID.
...
Рейтинг: 0 / 0
12.05.2021, 17:56
    #40069737
kochhar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
Всем спасибо!
Лучшим решением оказалось настроить weblogic server и задеплоить на него mapviewer, тогда в настройках конфигурации удается установить соединение с базой данных(Аналогичные действия при работе с сервером Tomcat не работали корректно).
...
Рейтинг: 0 / 0
13.05.2021, 00:13
    #40069805
SeaGate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
andrey_anonymousНе надо учить плохому :)
Этот параметр суть костыль для легаси, где захардкоден SID.
Комментарий относился к технически не точному утверждению о невозможности подключения к PDB через SID.
Я не давал никаких оценок (хорошо/плохо), т.к. это субъективно.
Возможно/не возможно - объективно.
...
Рейтинг: 0 / 0
13.05.2021, 15:08
    #40070011
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
SeaGate
andrey_anonymousНе надо учить плохому :)
Этот параметр суть костыль для легаси, где захардкоден SID.

Комментарий относился к технически не точному утверждению о невозможности подключения к PDB через SID.
Подключение к PDB через SID невозможно технически.
Указанный параметр листенера лишь позволяет листенеру интерпретировать параметр соединения "SID" как "SERVICE_NAME", не более.
Подключение к PDB идет при этом по сервису.
...
Рейтинг: 0 / 0
13.05.2021, 20:54
    #40070140
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
andrey_anonymous
SeaGate
пропущено...

Комментарий относился к технически не точному утверждению о невозможности подключения к PDB через SID.

Подключение к PDB через SID невозможно технически.
Указанный параметр листенера лишь позволяет листенеру интерпретировать параметр соединения "SID" как "SERVICE_NAME", не более.
Подключение к PDB идет при этом по сервису.
охъ, не туда воюешь...

ps. и еще полезно знать про ORACLE_PDB_SID: https://mikedietrichde.com/2020/05/07/can-you-connect-as-sysdba-without-password-into-a-pdb-directly/
...
Рейтинг: 0 / 0
13.05.2021, 21:08
    #40070141
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
Sayan Malakshinov
ORACLE_PDB_SID

Спасибо, интересно.
Но немного стрёмно сделали - коннект к существующему CDB$ROOT при несуществующем PDB_SID..
Майк, кстати, несколько неточен.
"as typically setting a SID which does not exist will lead to a connection error"
Указание несуществующего SID [за исключением Windows-платформы] обычно давало Connected to idle instance с перспективой на create database.
В этом смысле что-то изменилось?
...
Рейтинг: 0 / 0
13.05.2021, 21:39
    #40070152
SeaGate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
andrey_anonymousПодключение к PDB через SID невозможно технически.
Вот подключился через SID к PDB:
22320999
Что также отражено в логах listener.
Код: plsql
1.
13-MAY-2021 18:14:30 * (CONNECT_DATA=(SID=pdb1)(CID=(PROGRAM=sqlplus)(HOST=rac1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.1)(PORT=24567)) * establish * pdb1 * 0
...
Рейтинг: 0 / 0
16.05.2021, 18:09
    #40070650
Synoptic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JDBC подключение через Tomcat для использования источника данных mapviewer
kochhar
Всем спасибо!
Лучшим решением оказалось настроить weblogic server и задеплоить на него mapviewer, тогда в настройках конфигурации удается установить соединение с базой данных(Аналогичные действия при работе с сервером Tomcat не работали корректно).

Если есть weblogic, то зачем вообще конфиги?
В самом wls настраивай Data Source, а в приложении указывай jndi name этого DS.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / JDBC подключение через Tomcat для использования источника данных mapviewer / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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