在执行测试之前,我使用DbUnit用测试数据填充测试数据库。
我的蚂蚁脚本片段:
<taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask" classpath="dbunit-2.2.jar" /> <target name="load"> <dbunit driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@//localhost/XE" userid="user" password="pass"> <classpath> <pathelement location="ojdbc14-10.2.0.1.0.jar"/> </classpath> <operation type="REFRESH" src="testData.xml"/> </dbunit>
在我的测试数据中,我有两个带&amp; xx的值;值。此数据不会被插入,因为它被oracle解释为variabl。
我想在连接数据库时更改会话属性SET SCAN OFF。
我发现我可以使用-Dparam=value
将其作为JVM参数传递。我试过了-Dscan=off
,但它没有用。
答案 0 :(得分:1)
您不能因为SET SCAN {OFF|ON}
是SQL * PLUS命令。也许详细说明你的问题。为什么需要从Java应用程序中调用它?
答案 1 :(得分:0)
原来这是旧版DbUnit的问题。
我升级到2.4.8,使用org.dbunit.ext.oracle.Oracle10DataTypeFactory
,现在它可以工作。