JavaScript и СУБД Oracle: как их подружить?
Здравствуйте.
Я немного пишу на javascript. Сделала небольшой скрипт, который лежит на диске, запускается и выполняет некоторые функции. Сейчас мне надо сделать так чтобы скрипт заглядывал в базу oracle, делал небольшой селект, и в зависимости от возвращенного значения продолжал работу или нет. Предметно: нужно чтобы скрипт делал запрос типа: Select _status_ from maya.statuses where upload_date = (select max(upload_date) from maya.statuses); Если вернет 1, то продолжаем работу скрипта, если 0, то останавливаемся. Буду благодарна за любые советы, ссылки и примеры кода. Мне просто надо понять в какую сторону двигаться. Спасибо. |
JavaScript не умеет работать с базами данных напрямую, только посредством серверной части приложения.
|
может использовать
Run(<Command>,<WindowStyle>,<WaitOnReturn>) ? только не ясно может ли WaitOnReturn вернуть значение селекта? |
Цитата:
Цитата:
|
Вы сейчас точно о JavaScript говорите?
|
Ну у меня такой код в скрипте есть (скрипт на диске лежит, расширение wsf, но JS используется):
oShell.run ("cmd /c sqlplus.exe schema/pass@DB @ C:\\proc.sql", 2 /* SW_SHOWNORMAL */, true /* bWaitOnReturn */); так что это не грибы =) вроде... |
как "результат в oShell", который возвращается, поймать в javascript?
|
php не знаю вообще.
|
а может такой вариант: 1. написать oracle процедуру которая выгружала бы результат запроса в файл 2. Javascript заглядывал бы в файл и читал содержание (одно слово). Это конечно странный способ но он может сработать. что думаете?
|
Цитата:
|
Цитата:
только над задачей нужно подумать конкретно...может WMI чем то поможет... Цитата:
нужно посмотреть в каком варианте Oracle хранит БД... |
может я вопросы не так формулирую, или так: я использую Jscript для написания windows script file. Я правильно обратилась на этот форум?
|
Цитата:
|
Цитата:
|
я файлы своим скриптом обрабатываю. еще про ADO почитала и похоже это может помочь.
|
Извините, если запутала. :thanks:
|
|
Как считает, если что-то такое написать:
var conObj = new ActiveXObject("ADODB.Connection"); var conString = "Provider=OraOLEDB.Oracle; Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=202.125.144.34)(PORT=1521)))(CONNECT_DATA=(SID=orcl)(SERVER=DEDICATED)));User Id=admin; Password=admin;" conObj.Open(conString); var rs = new ActiveXObject("ADODB.Recordset"); sql = "SELECT * from DUAL" rs.open(sql,conString); var rsnum=rs.fields.count; alert(rsnum); rs.close; conObj.close; будет работать? или это вообще попытка пришить к платью пассатижи? |
Цитата:
может это чем поможет...с БД ADODB не работал прост(((( |
буду пробовать... :thanks:
|
Вложений: 1
Пока остановилось все тут:
var conObj = new ActiveXObject("ADODB.Connection"); var conString = "Provider=OraOLEDB.Oracle; Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XX.XX.19.13)(PORT=1521)))(CONNECT_DATA=(SID=XXX)(SERVER=DEDICATED)));User Id=XXX; Password=XXX;" conObj.Open(conString); var rs = new ActiveXObject("ADODB.Recordset"); sql = "SELECT _STATUS from MAYA. CT_FILE where ID_EX = (select max(ID_EX) from MAYA. CT_FILE)" rs.open(sql, conString); var ext_status=rs.fields.count; alert(ext_status); rs.close; conObj.close; var today_log = new Date(); log_time = today_log.getDate()+"."+ (today_log.getMonth()+1) + "." + today_log.getYear() + " " + today_log.getHours() + ":" + today_log.getMinutes() + ":" + today_log.getSeconds() + ":" + today_log.getMilliseconds(); log.WriteLine(log_time +" "+ext_status+ " - there is unprocessed item ."); Вылезает ошибка: «Provider cannot be found. It may not be properly installed CODE: 800A0E7A. SOURCE: ADODB.Connection » Пробую исправить. Может кто сталкивался? |
надеюсь вы в курсе, что в случае,если вы справитесь с этим, это будет работать только в ие?
|
Цитата:
Цитата:
кст а сам объект ADODB.Recordset и/или ADODB.Stream создается?) |
Вложений: 1
Цитата:
Цитата:
Ссылка на картинку: http://imageshost.ru/photo/39364/id2052771.html |
Цитата:
|
Вложений: 1
прошу прощения: прикрепленный скриншот - это попытка исправить ошибку, которая возникает при запуске скрипта и показана на прикрепленном рисунке и по ссылке: https://dl.dropbox.com/u/25164865/provider.JPG
т.е. нужно понять как исправить ошибку со скриншота и двигаться дальше. |
исправлено: на клиентскую машину, в моем случае, было необходимо доинсталировать Oracle Provider for OLE DB (10.2.0.2.20), который нужно было скачать тут http://www.oracle.com/technetwork/to...ft-086879.html.
Двигаюсь дальше. |
Цитата:
главное радует, что человек пишет получается/не получается...не часто пишут ответы на темы, если таковые в последствии находят... |
:thanks:
|
Часовой пояс GMT +3, время: 08:54. |