0

javafx demosサンプルに含まれる DataApp には、MySQL を使用してデータベースを作成および設定するための ant スクリプトが付属しています。MySql コネクタを構成した後は、ant タスクを呼び出すだけです。

<target name="-post-init" >
    <input message="Please enter Mysql password for root@localhost:" addproperty="mysql.password"/>
    <!-- first create user and database -->
    <echo>Creating "dataapp" user and "APP" database...</echo>
    <sql    driver="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:4447/mysql"
            userid="root"
            password="mysql-connector-java-5.1.18.jar"
            classpath="${libs.MySQLDriver.classpath}"
            >
        DELETE FROM user WHERE User = 'dataapp';
        DELETE FROM db WHERE User = 'dataapp';
        INSERT INTO user VALUES ('localhost','dataapp','*B974A83D18BB105D0C9186756F485406E6E6039B','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'',NULL);
        INSERT INTO db VALUES ('localhost','APP','dataapp','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','Y');
        DROP DATABASE IF EXISTS APP;
        CREATE DATABASE APP;
        FLUSH PRIVILEGES;
    </sql>
    <echo>Creating tables and views...</echo>
    <sql    driver="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/APP"
            userid="dataapp"
            password="dataapp"
            classpath="${libs.MySQLDriver.classpath}"
            src="${basedir}/create-database.sql"/>
    <echo>Populating zip code table(this might take a little while)...</echo>
    <sql    driver="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/APP"
            userid="dataapp"
            password="dataapp"
            classpath="mysql-connector-java-5.1.18.jar"
            src="${basedir}/zip_code_inserts.sql"/>
</target>

ただし、実行すると次の例外が発生します。

  [sql] Failed to execute:  INSERT INTO user VALUES    ('localhost','dataapp','*B974A83D18BB105D0C9186756F485406E6E6039B','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'',NULL)

この例外を除いて:

java.sql.SQLException: Column count doesn't match value count at row 1

フィールドの数が本来あるべき数ではないと思いますが、私は MySQL の専門家ではないので、これを修正する方法がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1