Как я могу передать информацию из муравья в файл или процедуру SQL - PullRequest
1 голос
/ 07 октября 2010

Я создаю пользователя с помощью ant target, как показано ниже

<target name="create_user">
     <exec executable="sqlplus" dir="${basedir}/dbsetup">
          <arg value="system/oracle@orcl"/>
          <arg value="@create_user.sql"/>
     </exec>    
</target>

, а файлы sql выглядят следующим образом ........

create user test identified by password;

grant resource, connect to test ;

grant create view to test ;

grant create materialized view to test ;

grant create sequence to test ;

grant create procedure to test ;

grant create any directory to test ;

grant create database link to test ;

alter user test  quota unlimited on users; 

quit;

В настоящее времяимя пользователя жестко запрограммировано в create_user.sql Теперь я хочу запросить имя пользователя и пароль от ant и перейти в файл sql.

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

Ответы [ 2 ]

2 голосов
/ 07 октября 2010

Для решения этой проблемы я создал файл шаблона sql, содержащий токены.
Я скопировал шаблон, используя ant copy с токенами, которые создают новый файл, в котором токены были заменены предоставленными токенами. затем новая копия выполняется с помощью задачи ant sql.
При необходимости это можно повторить, используя различные значения токенов.

Для подсказки я использовал задачу ввода муравья, которая присваивает введенное значение переменной,
переменная затем устанавливается как значение токена перед копированием.

0 голосов
/ 07 октября 2010

Один из вариантов - использовать позиционный параметр & 1 в вашем файле sql, например:

create user &1 identified by password;

Запросить имя пользователя с помощью задачи ввода ant, а затем передать это значение в качестве аргумента в sqlplus вашей цели.:

  <exec executable="sqlplus" failonerror="true">
        <arg value="${userid}/${password}@${tnsalias}"/>
        <arg value="yourFileNameGoesHere/>
        <arg value="theUserNameFromPromptGoesHere"/>
  </exec>

Преимущество заключается в том, что файл sql сохраняется в форме, которую можно выполнить из других сред, таких как SQL * Plus и PL / SQL Developer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...