この質問は質問https://stackoverflow.com/questions/3362965/problem-with-ddlutils-in-oracle-10gに似ています。私の問題は(または少なくとも私はそう思う)上記の質問とは少し異なるため、新しい問題を投稿します。
DdlUtils-1.0、Java-6 (OpenJdk)、ojdbc6.jar、および Oracle 11.1.0 を使用しています。移行は、ant タスクによって開始されます。タスクは次のようになります。
<target name="dump-db" description="Dumps DB" depends="">
<taskdef name="databaseToDdl" classname="org.apache.ddlutils.task.DatabaseToDdlTask">
<classpath>
<path refid="runtime-classpath"/>
<path refid="project-classpath"/>
</classpath>
</taskdef>
<databaseToDdl modelname="${modelname}" verbosity="DEBUG" databasetype="${source.platform}"
usedelimitedsqlidentifiers="true" tabletypes="TABLE" schemapattern="${schemapattern}">
<database url="${source.url}"
driverClassName="${source.driver}"
username="${source.username}"
password="${source.passwd}"
initialsize="5"
testonborrow="true"
testonreturn="true"/>
<writeschemasqltofile failonerror="false" outputfile="${out.dir}/${schema.file.sql}"/>
<writedtdtofile outputfile="${out.dir}/${schema.file.dtd}"/>
<writeSchemaToFile failonerror="false" outputFile="${out.dir}/${schema.file.xml}"/>
<writedatatofile failonerror="false" outputfile="${out.dir}/${data.file.xml}" determineschema="true"/>
</databaseToDdl>
</target>
oracle11 は ddlutils でサポートされていないため、${source.platform} は「oracle10」に設定されます。スキーマ定義の作成は非常にうまく機能しますが、データをダンプするときに次の例外に直面します:
[databaseToDdl] org.apache.ddlutils.model.ModelException: 不明な JDBC タイプ コード 2007 [databaseToDdl] at org.apache.ddlutils.model.Column.setTypeCode(Column.java:215) [databaseToDdl] at org.apache.ddlutils. platform.JdbcModelReader.readColumn(JdbcModelReader.java:781) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle8ModelReader.readColumn(Oracle8ModelReader.java:117) [databaseToDdl] at org.apache.ddlutils.platform.JdbcModelReader. readColumns(JdbcModelReader.java:755) [databaseToDdl] at org.apache.ddlutils.platform.JdbcModelReader.readTable(JdbcModelReader.java:565) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle8ModelReader.readTable(Oracle8ModelReader. java:102) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle10ModelReader.readTable(Oracle10ModelReader.java:80) [databaseToDdl] at ...
http://download.oracle.com/javase/6/docs/api/constant-values.html#java.sql.Types.BITに、jdbc タイプ コードがリストされています。どうやら ddlutils はこの型コードを jdbc ドライバーから取得しますが、java.sql.Types で対応する型を見つけることができませんでした。
これを解決する方法を知っている人はいますか?