2014-09-27 2 views
1

Чтобы сделать онлайн-компилятор, я хочу скомпилировать фрагмент кода и отправить результат.Возможно ли установить Java-компилятор в базу данных?

Вместо того, чтобы указывать путь к жесткому диску, могу ли я вызвать запрос, который в результате компилирует код (не указывая ссылки на местоположение на жестком диске javac), а файлы, расположенные в БД (BLOB).

  • Возможно ли это?
  • Можно ли следовать этому подходу?
  • Какие системные компиляторы обычно следуют?
+0

Я не могу следить за вашим прецедентом, но в Oracke DB у вас есть триггеры (запуск действия при вставке строки) и хранимые процедуры, которые могут запускать сценарий оболочки, который может скомпилировать исходный код из столбца blob. – PeterMmm

ответ

2

Большинство баз данных позволяют создавать определенные пользователем функции. Вы можете определить такой UDF, принимающий исходный код как входной и возвращающий объектный код в качестве выходного.

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

+0

да - вроде бессмысленно ... я был соблазнен спросить, почему БД используется в любом случае для кода с удаленным компилятором ... но благодаря вашему ответу я не должен был^^ –