Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> скрипт на java, подключиться к СУБД 
V
    Опции темы
fish9370
Дата 1.9.2010, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: нет
Всего: 1



Здравствуйте уважаемые любители java

мне нужен скрипт выполняемый сторонней программой (radius), куда будет переданно несколько параметров. Скрипт должен быть написан на java - он должен выполнить запрос к СУБД (sybase), выводить на стандартное устройство вывода строку разделенную запятыми (атрибуты)


я не знаком с java

на php я бы поступил примерно так:

Код

<?php 

  include($_root_dir . 'db/mysql.php'); //описание класса для работы с СУБД

  $db = new sql_db($GLOBALS['_host'], $GLOBALS['_user'], $GLOBALS['_pass'], $GLOBALS['_dbname'], false);

  $sql = "select * from log_all"; 
  $result = $db->sql_query($sql);
                   
  while ( $row = $db->sql_fetchrow($result) )  {
      print($row['src']);
   }

?>


выполнил бы я этот код так:

Код

>php ./test.php 


но проблема в том, что у меня нет коннектора для SyBase
в тоже время у меня есть ряд скриптов на jsp где я мог бы обратиться к базе, но что-то мне подсказывает, что в джаве в этом случае все можно сделать красивее..

подскажите как выполнить скрипт на jsp из терминала, и как написать этот код красиво?

Это сообщение отредактировал(а) fish9370 - 1.9.2010, 13:11


--------------------
undefined
PM MAIL WWW ICQ   Вверх
LSD
Дата 1.9.2010, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



JSP - это не скрипт. А вообще неплохо бы поподробнее объяснить что надо. Что за сторонняя программа и какие таки скрипты она умеет выполнять?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
fish9370
Дата 1.9.2010, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: нет
Всего: 1



Цитата(LSD @ 1.9.2010,  14:35)
JSP - это не скрипт. А вообще неплохо бы поподробнее объяснить что надо. Что за сторонняя программа и какие таки скрипты она умеет выполнять?

я извиняюсь если плохо объяснил, судя по количеству откликов, видимо не очень.. попробую еще раз..

сторонняя программа - freeRadius - позволяет при передаче определенных атрибутов от NAS выполнить некоторый скрипт.. скрипт может быть написан на любом языке.. я бы предпочел его написать на PHP.. но у меня связаны руки..

в то же время, уже реализован WEB-интерфейс на jsp в котором есть нужный коннектор.. дынные из базы выгребаются и обрабатываются..

на ум приходит написать что-то вроде:

Код

<%@ include file=".in/dbc.inc" %>

<%
    ResultSet rs = stmt.executeQuery("select * from log_all");
    rs.getString("src");
    rs.close();
%>


но как это выполнить из шела?

Это сообщение отредактировал(а) fish9370 - 1.9.2010, 14:50


--------------------
undefined
PM MAIL WWW ICQ   Вверх
Kircul
Дата 1.9.2010, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 20.2.2007

Репутация: 6
Всего: 7



Цитата(fish9370 @  1.9.2010,  13:49 Найти цитируемый пост)
в то же время, уже реализован WEB-интерфейс на jsp в котором есть нужный коннектор.. дынные из базы выгребаются и обрабатываются.

Цитата(fish9370 @  1.9.2010,  13:49 Найти цитируемый пост)
но как это выполнить из шела?

Ну самый простой вариант, который приходит на ум это использовать утилиту curl и sh-скрипт, который сформирует url со всеми аттрибутами.
Однако:
Цитата(fish9370 @  1.9.2010,  13:49 Найти цитируемый пост)
при передаче определенных атрибутов от NAS

Не совсем понятно куда эти аттрибуты передаются. Нельзя ли их сразу редиректнуть на Веб интерфейс (методом GET, например)? Минуя shell.

Это сообщение отредактировал(а) Kircul - 1.9.2010, 15:01
PM   Вверх
powerOn
Дата 1.9.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Я вообще ничего не понял. Причем тут JSP?

Слово "скрипт" имеет общее значение, как набор команд реализованный с помощью какого-либо языка. Если в php и распространнено выражение "php скрипт", то это не означает, что скрипт написаный на Java должен иметь технические паралели с php, т.е. быть jsp страницей.




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
fish9370
Дата 1.9.2010, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: нет
Всего: 1



http://ru.wikipedia.org/wiki/RADIUS - это стандартный протокол для взаимодействия с различными устройствами, поддерживается множеством производителей и устройств..

нет, я конечно мог бы обратиться непосредственно к странице, через http, но:
1 это велосипед
2 это мало производительно
и куча других минусов..

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

база крутится на SyBase.. 

я подумал, что сложного написать такой скрипт, если есть коннектор, подобно тому коду, что я привел на PHP..

Добавлено через 3 минуты и 1 секунду
Цитата(powerOn @ 1.9.2010,  15:03)
Я вообще ничего не понял. Причем тут JSP?

Слово "скрипт" имеет общее значение, как набор команд реализованный с помощью какого-либо языка. Если в php и распространнено выражение "php скрипт", то это не означает, что скрипт написаный на Java должен иметь технические паралели с php, т.е. быть jsp страницей.

он тут непричем.. я не разбираюсь в джаве.. скажите как правильно..


--------------------
undefined
PM MAIL WWW ICQ   Вверх
LSD
Дата 1.9.2010, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Я так понимаю что все что может этот freeRadius это выполнить некую консольную программу и передать ей некоторые параметры, так?

JSP нельзя "выполнить" вне сервера приложений. Я вижу 2 варианта:
1. обратится по некому URL к некой JSP и передать ей нужные параметры
2. написать консольное Java приложение которое будет соединятся с базой и выполнять нужный SQL

P.S. Посмотри Студенческий отдел кадров Часть 3 - База данных там есть пример как соединиться с базой данных и выполнить SQL.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ivanovpv
Дата 2.9.2010, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Цитата(fish9370 @  1.9.2010,  14:10 Найти цитируемый пост)
мне нужен скрипт выполняемый сторонней программой (radius), куда будет переданно несколько параметров. Скрипт должен быть написан на java - он должен выполнить запрос к СУБД (sybase), выводить на стандартное устройство вывода строку разделенную запятыми (атрибуты)


JSP невозможно выполнить вне сервака. Попытка вызова JSP скрипта вне сервера это примерно то же самое что и выполнить сишные исходники не имея компилятора и сборщика. JSP компилируется на лету специальным компилятором сервера. Теоретически конечно можно в рамках шелла подсунуть под JSP скрипт компилятор и проч. дела - но боюсь это всего лишь фантазии.



--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
fish9370
Дата 2.9.2010, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: нет
Всего: 1



Цитата(LSD @  1.9.2010,  16:57 Найти цитируемый пост)
написать консольное Java приложение которое будет соединятся с базой и выполнять нужный SQL


- вот именно это мне и надо.. 
про jsp я подумал, потому-что в PHP нет различия под что пишешь под консоль или под веб-страницу..

что нужно? как собрать? как исполнить? - в общих чертах..

Добавлено через 1 минуту и 20 секунд
Цитата(ivanovpv @  2.9.2010,  07:33 Найти цитируемый пост)
SP невозможно выполнить вне сервака. Попытка вызова JSP скрипта вне сервера это примерно то же самое что и выполнить сишные исходники не имея компилятора и сборщика. JSP компилируется на лету специальным компилятором сервера


спасибо.. - не знал что в джаве так..


--------------------
undefined
PM MAIL WWW ICQ   Вверх
kkorsakoff
Дата 3.9.2010, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 3
Всего: 14



Как вариант можете использовать groovy. Во-первых это скриптовый язык, во-вторых можно установить на линукс сервер пакет groovy и оформить все как обычный шелл-скрит, в-третьих можно использовать любые java-библиотеки.

http://www.ibm.com/developerworks/java/lib.../j-pg01115.html

Вот пример sql-запроса

Код

import groovy.sql.Sql
class GroovySqlExample1{
  static void main(String[] args) {
    def sql = Sql.newInstance("jdbc:mysql://localhost:3306/words", "words",
           "words", "com.mysql.jdbc.Driver")
    sql.eachRow("select * from word"){ row ->
       println row.word_id + " " + row.spelling + " " + row.part_of_speech
    }
  }
}


PM MAIL WWW ICQ   Вверх
fish9370
Дата 6.9.2010, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: нет
Всего: 1



Цитата(kkorsakoff @  3.9.2010,  10:36 Найти цитируемый пост)
Как вариант можете использовать groovy


kkorsakoff большое спасибо..

Это сообщение отредактировал(а) fish9370 - 6.9.2010, 13:24


--------------------
undefined
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0932 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.