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

Подскажите, пожалуйста, где может быть ошибка, связанная с поиском источника для данных 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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069453
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лет 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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069618
kochhar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Спасибо! попытался настроить конкретно через сам mapviewer по ссылке из документации, но он все равно не видит соединения. Насколько я понимал, из-за того, что я деплою его как веб-приложение на локальном сервере Tomcat, нужно и сами настройки сервера подгонять под соединение с базой данных. я в этом ошибался?
...
Рейтинг: 0 / 0
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069623
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069633
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069638
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069642
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо учить плохому :)
Этот параметр суть костыль для легаси, где захардкоден SID.
...
Рейтинг: 0 / 0
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069737
kochhar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо!
Лучшим решением оказалось настроить weblogic server и задеплоить на него mapviewer, тогда в настройках конфигурации удается установить соединение с базой данных(Аналогичные действия при работе с сервером Tomcat не работали корректно).
...
Рейтинг: 0 / 0
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40069805
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousНе надо учить плохому :)
Этот параметр суть костыль для легаси, где захардкоден SID.
Комментарий относился к технически не точному утверждению о невозможности подключения к PDB через SID.
Я не давал никаких оценок (хорошо/плохо), т.к. это субъективно.
Возможно/не возможно - объективно.
...
Рейтинг: 0 / 0
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40070011
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeaGate
andrey_anonymousНе надо учить плохому :)
Этот параметр суть костыль для легаси, где захардкоден SID.

Комментарий относился к технически не точному утверждению о невозможности подключения к PDB через SID.
Подключение к PDB через SID невозможно технически.
Указанный параметр листенера лишь позволяет листенеру интерпретировать параметр соединения "SID" как "SERVICE_NAME", не более.
Подключение к PDB идет при этом по сервису.
...
Рейтинг: 0 / 0
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40070140
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40070141
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40070152
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
JDBC подключение через Tomcat для использования источника данных mapviewer
    #40070650
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kochhar
Всем спасибо!
Лучшим решением оказалось настроить weblogic server и задеплоить на него mapviewer, тогда в настройках конфигурации удается установить соединение с базой данных(Аналогичные действия при работе с сервером Tomcat не работали корректно).

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


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