|
|
|
Как запустить "Oracle command"-файл из моего приложения?
|
|||
|---|---|---|---|
|
#18+
Привет! Уже обыскался, может подскажет кто? Требуется установить соединение с БД Oracle и выполнить содержимое command-файла, как это делает "sqlplus". Как это правильно делается, подскажите? Использовать OCI-ный драйвер нужно или тонкий подойдет. И как получать ответы сервера на эти команды? Если где-то уже поднималась такая тема, то ткните носом, сам не нашел. Файло вида: ============== Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 13:19 |
|
||
|
Как запустить "Oracle command"-файл из моего приложения?
|
|||
|---|---|---|---|
|
#18+
Проще запустить sqlplus и направить ему на вход текст командного файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 14:55 |
|
||
|
Как запустить "Oracle command"-файл из моего приложения?
|
|||
|---|---|---|---|
|
#18+
Тебе надо выполнить именно все указанные команды, или задача состоит в том, чтобы создать таблицу и наполнить ее данными? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 15:06 |
|
||
|
Как запустить "Oracle command"-файл из моего приложения?
|
|||
|---|---|---|---|
|
#18+
BlackWallПроще запустить sqlplus и направить ему на вход текст командного файла А как программно сделать это? Denis Popov Тебе надо выполнить именно все указанные команды, или задача состоит в том, чтобы создать таблицу и наполнить ее данными? Posted via ActualForum NNTP Server 1.3 Нет это частный случай я привел. В идеале таким способом хотелось бы выполнять и создание процедур и пакетов и прочего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 16:18 |
|
||
|
Как запустить "Oracle command"-файл из моего приложения?
|
|||
|---|---|---|---|
|
#18+
Latent Force wrote: > В идеале таким способом хотелось бы выполнять и создание процедур и пакетов и прочего. В реальности все объекты БД можно создать через java.sql.Statement и без ораклового клиента вообще. Другое дело, если не ты создаешь скрипты на создание объектов, а пользуешься сторонними, заточенными под sqlplus, то придется либо самостоятельно разбирать их на составляющие и выкидывать все ненужное, либо выполнять sqlplus'ом через Runtime.exec(), гадая про способ отлавливания ошибок после их выполнения. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 16:36 |
|
||
|
Как запустить "Oracle command"-файл из моего приложения?
|
|||
|---|---|---|---|
|
#18+
Denis Popov Другое дело, если не ты создаешь скрипты на создание объектов, а пользуешься сторонними, заточенными под sqlplus, то придется либо самостоятельно разбирать их на составляющие и выкидывать все ненужное, либо выполнять sqlplus'ом через Runtime.exec(), гадая про способ отлавливания ошибок после их выполнения. Да в этом-то и дело, что под sqlplus. А если делать через Runtime.exec(), то как мне на клиенте вызывать sqplus сервера? Опишу сейчас суть задачи. Есть некоторое количество серверов, список которых хранится в таблице некоторой БД. Этот список может изменяться во времени. Частенько встает необходимость выполнения различных скриптов на всех этих серверах (а может на некоторых из них). У меня есть sqlplus'овый скрипт, который коннектится ко всем этим серверам и исполняет указанный ему файл. Но постоянно приходится следить за актуальностью списка серверов в нем. И тут возникают всегда проблемы (так сказать "человеческий фактор"), то не сменил адрес, то забыл внести новый сервер. А в БД все равно эта информация ведется. Поэтому и хотелось написать программу, которая бы получала список серверов, последовательно соединялась с ними и выполняла скрипт. С простыми-то запросами, типа создания, удаления, выбора из таблицы я справился без проблем. А вот дальше дело как-то осложнилось... А вот мне интересно, как реализован этот механизм, например, в PL/SQL Developere? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 17:33 |
|
||
|
Как запустить "Oracle command"-файл из моего приложения?
|
|||
|---|---|---|---|
|
#18+
Latent Force wrote: Да в этом-то и дело, что под sqlplus. А если делать через > Runtime.exec(), то как мне на клиенте вызывать sqplus сервера? Разве что sqlplus клиента, т.е. той машины, на которой запускается java. > А вот мне интересно, как реализован этот механизм, например, в PL/SQL > Developere? ИМХО он и все остальные занимаются разбором скриптов сами по себе. В PL/SQL Developere есть окно Command Window, почти sqlplus, но по-моему это не sqlplus, поскольку не поддерживаются некоторые плюсные команды. Разработчики решили (и по-моему это тенденция) разбирать скрипты на отдельные команды самостоятельно. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 17:43 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33710943&tid=2149350]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
155ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 450ms |

| 0 / 0 |
