Попробуйте это htmlentities для JavaScript
function htmlEntities(str) {
return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"');
}
Лучше, если у вас есть доступ к хост-машине и установка Oracle - это использовать команду: lsnrctl status
. Это работает как на машинах Unix, Linux, так и на Windows. Команда status покажет вам всех слушателей (и связанные с ними SID).
C:\>lsnrctl status
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-JUN-2009 16:16:34
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
Start Date 13-JUN-2009 12:04:14
Uptime 2 days 4 hr. 12 min. 19 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File C:\oracle\XE\app\oracle\product\10.2.0\server\network\admin\listener.ora
Listener Log File C:\oracle\XE\app\oracle\product\10.2.0\server\network\log\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ThinkpadT61)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "XE_XPT" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully
В приведенном выше примере вы можете подключиться к базе данных XE с помощью Conect Strings XEXDB, XE_XPT или XE.
Другой вариант, который следует рассмотреть, - это файл / etc / oratab в Unix или его эквивалент в Windows, который, как мне кажется, является кустом реестра.
oratab должен перечислить все SID на хосте, работает он или нет.
Короткий ответ: вам нужен доступ к ОС хоста:
Для Unix, ps -ef | grep pmon
покажет вам один или несколько процессов с такими именами, как ora_pmon_xxxx
, и xxxx
- это имя экземпляра.
Я думаю, что в Windows есть похожая подпись в список задач.
На практике эта информация обычно предоставляется вам лицом, администрирующим базу данных, при создании вашей учетной записи для подключения.
Вопрос сводится к следующему: какие ORACLE_SID или службы поддерживаются слушателем, работающим на хосте X, порт Y. В зависимости от того, насколько защищен этот слушатель, вы можете увидеть это с помощью команды lsnrctl от клиента, на котором установлен lsnrctl. Для этого вам понадобится установка сервера Oracle на этом клиенте. Когда у вас есть это, вы можете выдать
lsnrctl
set current_listener (description=(address=(host=X)(port=Y)(protocol=tcp)))
status
Установка по умолчанию заполнения слушателя 10g вызывает следующий результат: TNS-01189: слушатель не смог аутентифицировать пользователя
Это потому, что из 10g oracle по умолчанию Безопасность ВКЛ: локальная проверка подлинности ОС Это означает, что только локальный пользователь ОС, запустивший прослушиватель, может выдавать ему команды lsnrctl. Слушатель откажется отвечать любому другому пользователю.