Я попытался отредактировать ответ «ade» выше, но Stack Overflow не разрешил мне редактировать после того, как я первоначально предоставил анонимную обратную связь. Это менее сложная версия функции для правильной печати ElementTree.
def indent(elem, level=0, more_sibs=False):
i = "\n"
if level:
i += (level-1) * ' '
num_kids = len(elem)
if num_kids:
if not elem.text or not elem.text.strip():
elem.text = i + " "
if level:
elem.text += ' '
count = 0
for kid in elem:
indent(kid, level+1, count < num_kids - 1)
count += 1
if not elem.tail or not elem.tail.strip():
elem.tail = i
if more_sibs:
elem.tail += ' '
else:
if level and (not elem.tail or not elem.tail.strip()):
elem.tail = i
if more_sibs:
elem.tail += ' '
После попытки других продуктов в течение нескольких месяцев я вернулся Жабе.
И я должен признать, что (по моему скромному мнению, и для типа использования, которое я делаю его): я не нашел альтернативы Жабе .
необходимые функции, которые отсутствуют в других продуктах:
Скорость. Жаба ослепительно быстра; Разработчик SQL начинает проверять, если Вы открываете больше чем 2 или 3 соединения. Когда необходимо действовать с ограничениями времени, Вы действительно не можете ожидать Разработчик SQL для открытия.
"открытый новое окно до фиксации" функциональность (новое окно открыто после вставки или оператора обновления, и Вы вынуждены фиксировать или откатывать). Действительно удобный, чтобы не ожидать фиксации.
"выполняют текущий оператор" функциональность (shift-F9). У Разработчика SQL нет его, или Вы вынуждены выбрать запрос, который Вы хотите выполнить.
Работавший с МН разработчиком / разработчиком SQL. Это качается.
Я попробовал большинство инструментов, предложенных выше, и нашел, что предпочитаю этого по всем ним (включая ЖАБУ): SQLDetective
Я второй комментарии Разработчика SQL. FWIW, более новые версии Жабы намного более стабильны, чем золотые старые произведения были. Я использую Жабу 9.7, и это довольно хорошо.
Я использую Разработчик пуазейли / Разработчик SQL , который я думаю один из лучших инструментов базы данных оракула, это облегчено и быстро, у меня есть одна копия в моей флэш-памяти USB, чтобы позволить мне использовать его в любом ПК (Вы просто копируете его с папки программных файлов и помещаете его во флэш-память, и это будет хорошо работать).
Также я купил OraDeveloper у DevArt три месяца назад, это, имеет некоторые хорошие функции, но это медленнее, чем МН Разработчик / Разработчик SQL, и потребуйте.Net framekwork., но хорошая вещь, что это имеет прямое подключение к Oracle, таким образом, можно использовать его от любого ПК, не требуя, чтобы клиент Oracle был установлен.
Другой оснащает, управление Studio SQL EMS для Oracle, которая выглядит хорошей, и имейте некоторые хорошие функции особенно с импортом/экспортом от другого формата. http://sqlmanager.net/en/products/studio/oracle
и для свободного можно использовать Маэстро AnySQL , который имеет поддержку Oracle/MySql/Sql сервера и предложения Маэстро AnySql для свободного http://www.sqlmaestro.com/
Только для броска его там - Вы знали, что можно захватить бету Жабы 4.1 и использование это бесплатно? Беты всегда свободны общественности.
Я использовал Причал DBArtisan (не свободный)
, я думал, что это было хорошо.
Разработчик PLSQL, очень хороший для DBMS Oracle, специально для Сохраненного Proc, но не так хорошо для управления DBMS.
Я люблю Жабу. Я должен был переключиться на Быстрый SQL Причала в течение двух месяцев, и он проклинает, рядом уничтожил меня. Таким образом, в то время как я не знаю ни о каких продуктах, которые являются лучше , чем Жаба, я могу сказать безоговорочно, что Быстрый SQL является совершенно несоответствующим.
Я использую МН Разработчика / Разработчика SQL для выполнения нескольких запросов и разработки хранимой процедуры, поскольку это - горное тело, и можно уничтожить процесс через Диспетчер задач и возвратить все окна после запуска снова. Я использую ЖАБУ для просмотра, поскольку та функциональность не может быть разбита. Но это облуплено на мне, зависании, и т.д., хотя это - вероятно, мой компьютер.. Я купил бы обоих. Я имею, оба открываются теперь.
Для доступа к нечетным источникам (PI OSISoft, JDE на AS400, 4D, Доступ, Excel), я использую Инструмент Расширенного запроса . Замечательно быть в состоянии использовать SQL против листа Excel предложенной таблицы, создать Ваш DDL.
Сделав 3 года в одном задании с помощью ЖАБЫ, и теперь 5 лет в текущем задании с помощью МН Разработчика / Разработчика SQL, я сказал бы, что полная ЖАБА является лучшим инструментом, но если Вы конкретно разрабатываете хранимые процедуры в МН / SQL, МН Разработчик / Разработчик SQL лучше.
не забывают, добираются для установки контекстно-зависимой справки (под Справкой - Руководства HTML)
Я использовал OraDeveloper DevArt для соединения с базами данных Oracle. Это хорошо, потому что это включает Visual Studio почти таким же способом, поскольку базы данных SQL Server могут быть запрошены через Проводник Сервера. Это не свободно, но в нашем случае это прибыло свободное с покупкой OraDirect.Net, который является новым поставщиком, который позволяет Oracle работать с Платформой Объекта Microsoft.
Я использовал Золотой от Benthic Software как замена SQL*Plus в течение долгого времени и люблю ее.
Я удивлен, что никто еще не упомянул DbVisualizer. Наша компания использовала его в течение нескольких лет, и все кажутся довольными им. Это мощно, работает на нескольких (основанных на Java) платформах и поддерживает различные системы баз данных (Oracle, DB2, Доступ MS и т.д.). Это имеет бесплатную версию; коммерческая версия доступна при необходимости в большем количестве функций.
Я брошу в своем голосе за SQLPal. Это свободно. Большинство функций это имеет работы действительно хорошо (автоконкуренция, никогда казалось, не работала). Я использую его против 10-граммовой базы данных ежедневно, и это работает отлично.
Я использовал SQL белки (который является Java/JDBC, основывал программу и будет работать с любой ОС или базой данных, которая обеспечивает драйвер), и инструменты разработки базы данных для Eclipse (Eclipse-DTP) . Оба, конечно, достаточны для легкой работы базы данных. Оба свободны и с открытым исходным кодом.
TOra является другим хорошим вариантом. Я использовал пред версия GPL в течение многих лет. Это - хороший простой инструмент SQL для Oracle.
Это поддерживает просмотр схемы, проанализируйте план, ограниченную отладку плюс весь материал, который Вы ожидали бы.
Разработчик пуазейли/SQL от http://www.allroundautomations.nl/ . Представленный между выбором между Жабой и МН разработчиком / разработчиком SQL, приблизительно половина разработчиков предпочитает МН разработчика / разработчика SQL. Я должен допустить завершение кода в МН разработчике / разработчик SQL намного лучше, но я все еще предпочитаю Жабу для функциональности управления DBMS.
Вы могли также использовать sqltools, , который предпочитают некоторые мои коллеги. Я никогда не привыкал к нему, но выгляжу мощным.
Я также рекомендовал бы Разработчику SQL Oracle, однако я нашел WinSQL быть довольно хорошим также. Разработчик SQL свободен, и WinSQL имеет версию сообщества, которая довольно устойчива, и работает хорошо против других платформ также (я также использую его для работы с Netezza).
Простой ответ:
Используйте Textpad или другой текстовый редактор.
Explanation:
Для меня разработка PL / SQL - это процесс, который со временем развивался. Я пытался постоянно совершенствовать SQL-разработку, и у меня это прекрасно сработало. (для получения дополнительной информации о постоянном улучшении / Kaizen см. текст ссылки )
Я обнаружил, что инструменты PL / SQL IDE работают нестабильно.
У меня было несколько сбоев TOAD Quest Software, а также Quest Software. SQL Navigator (использую с версии 3).
Я потерял работу.
Я пробовал другие инструменты IDE PL / SQL.
Эти инструменты также дали сбой.
Я снова потерял работу.
Я был разочарован.
Я не доверяю разработку программного обеспечения PL / SQL никаким инструментам PL / SQL IDE.
Вот мои основные практики программирования PL / SQL:
1. Экспортируйте код с помощью Quest Software TOAD
2. Используйте сценарий Cygwin bash для перемещения файлов в соответствующие каталоги
3. Сравните версии через BeyondCompare (при необходимости)
4. Проверьте код из WinCVS / CVSNT (при необходимости)
5. Отредактируйте с помощью TextPad
6. Сравните версии через BeyondCompare (при необходимости)
7. Зарегистрируйте код в WinCVS / CVSNT (при необходимости)
8. Используйте сценарий Cygwin bash для создания главного файла изменений.
9. Импортируйте код обратно с помощью Quest Software TOAD
Еще более подробное объяснение:
Я использую Quest Software TOAD для экспорта всего PL / SQL и табличного кода DDL в файловую систему.
В меню «База данных» -> «Экспорт». -> Исходный код
В меню «База данных» -> «Экспорт» -> «Сценарии таблиц»
Это дает мне отдельные файлы для каждого объекта базы данных.
Я перемещаю эти файлы (сценарий Cygwin bash) в каталоги
на основе расширений файлов.
Файлы * .prc в / процедурах
Файлы * .fnc в / functions
Файлы * .pks и * .pkb в / procedureudres
Файлы * .trg в каталоге / triggers
* .vw файлы в / views
Файлы * .sql в / table_scripts
Эти файлы изначально проверяются в CVS.
(Я использую серверную часть WinCVS / CVSNT)
I Beyond Compare каждая версия файла, экспортированная TOAD
с версией, уже находящейся в CVS.
Я гарантирую, что репозиторий CVS sql обновлен.
Другими словами, мне нужно иметь хорошую начальную базу.
Затем я использую TextPad для редактирования кода PL / SQL.
текст ссылки
Я предварительно настроил свой Textpad с помощью файлов синтаксиса SQL
для удобства глаз
текст ссылки
После редактирования, I Beyond Compare каждый редактировал
версия файла, экспортированная с версией
в WinCVS.
К счастью, WinCVS позволяет использовать внешний
diff (Beyond Compare), который очень удобен.
Я загружаю новый / измененный код через TOAD в тестовую схему.
В меню редактора SQL -> Загрузить и выполнить файл сценария
я тестирую код. (выполните несколько запусков отладки)
Если код проходит проверку, я проверяю код в CVS.
В конце я использую Cygwin bash (и сценарий bash, который я написал), чтобы создать файл основных изменений. Этот главный файл изменений содержит все изменения, которые необходимо применить для обновления действующей схемы. Это экономит мне много времени.
Затем я загружаю новый / измененный код через TOAD в живую схему. В меню редактора SQL -> Загрузить и выполнить файл сценария. Вот об этом. Программная инженерия - это процесс, управление версиями (CVS) и автоматизация сборки (сценарий bash).
Самым большим уроком из всего этого (который сделал меня в 10 раз более продуктивным) был переход с IDE PL / SQL на основе БД на простые Текстовые файлы ASCII. KIS в действии.
- мусор БД
- блокировка объектов БД
- инструменты управления версиями на основе базы данных iffy (если есть)
- iffy DB diff tools (если есть)
- потеря кода из-за сбоев IDE
- потеря кода из-за сбоев / остановок БД
- потеря кода из-за одновременного редактирования (это может произойти, если два или более разработчиков PL / SQL редактируют одну и ту же процедуру)
Вместо этого, если вы обрабатываете весь код PL / SQL в файлах ASCII файловой системы, у вас есть
- текстовые редакторы на ваш выбор (TextPad, notepad ++, vi и т. д.)
- ваш выбор систем контроля версий (CVS, svn)
- ваш выбор систем фильтрации / обработки / сценариев текста (мне нравится Cygwin bash)
- инструменты на ваш выбор (Beyond Compare, WinDiff, diff)
- ваш выбор инструментов БД (я могу использовать TOAD, SQL Navigator) для импорта и экспорта кода PL / SQL в файлы.
Мне нужна была история версий всех изменений кода.
Я хотел, чтобы все работали вместе и чтобы разработчики не наступали друг другу на пятки.
Я хотел свободу выбора своих инструментов.
Побочным эффектом этого является то, что я обрабатываю весь код БД в файловой системе во время быстрой разработки.
Только мои 2 цента.