0

MySQL 5.5 で作成された「mydb」データベースに接続する必要があります。

http://ant.apache.org/manual/Tasks/sql.htmlから、次のようにすればよいことがわかりましたが、ti ではできません。

<sql
    driver="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/broadleaf"
    userid="root"
    password="password">
</sql>

次に、別の投稿で、以下を使用して ANT を使用して MySQL を開始および停止できます。

<target name="start-db">
  <exec executable="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" osfamily="windows">
  </exec>

  <exec executable="mysql.server" osfamily="unix">
    <arg value="start"/>
  </exec>
</target>

<target name="stop-db">
  <exec executable="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" osfamily="windows">
    <arg value="-u"/>
    <arg value="root"/>
    <arg value="shutdown"/>
  </exec>

  <exec executable="mysql.server" osfamily="unix">
    <arg value="stop"/>
  </exec>
</target>

これらの両方のスクリプトを結合して MySQL データベースを起動し、ANT スクリプトを使用して特定のデータベース (例: mydb) に接続する方法を教えてください。同様にデータベースを停止し、そのデータベース (mysql) から切断します。

ありがとう。

4

1 に答える 1

2

すべてを 1 つの完全な ANT スクリプトに結び付ける方法をお探しですか?

<project name="database-stuff" default="make-it-so">

    <target name="make-it-so" depends="start-db,run-sql,stop-db"/>

    <target name="start-db">
      <exec executable="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" osfamily="windows">
      </exec>

      <exec executable="mysql.server" osfamily="unix">
        <arg value="start"/>
      </exec>
    </target>

    <target name="stop-db">
      <exec executable="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" osfamily="windows">
        <arg value="-u"/>
        <arg value="root"/>
        <arg value="shutdown"/>
      </exec>

      <exec executable="mysql.server" osfamily="unix">
        <arg value="stop"/>
      </exec>
    </target>

    <target name="run-sql">
       <sql driver="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/broadleaf"
            userid="root"
            password="password">

           -- SQL STATEMENTS GO HERE!!
       </sql>
    </target>

</project>

そうでない場合は、発生しているエラーの種類の詳細を提供する必要があります。

于 2012-05-18T20:49:41.357 に答える