Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ant sql任务类路径问题_Sql_Ant_Classpath - Fatal编程技术网

ant sql任务类路径问题

ant sql任务类路径问题,sql,ant,classpath,Sql,Ant,Classpath,我有以下antbuild.xml: <path id="antclasspath"> <fileset dir="lib"> <include name="*.jar"/> </fileset> </path> <property name="pathvar" refid="antclasspath" /> <echo message="Classpath is ${pathvar}"

我有以下ant
build.xml

<path id="antclasspath">
    <fileset dir="lib">
        <include name="*.jar"/>
    </fileset>
</path>

<property name="pathvar" refid="antclasspath" />
<echo message="Classpath is ${pathvar}"/>

<sql
    driver="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@myserver.hu:1521:dbid"
    userid="myuserid"
    password="mypassword"
    print="yes"
    classpathref="antclasspath">
    select * from table
</sql>
sql ant任务仍然无法加载Oracle驱动程序:

E:\MyDir\build.xml:100: Class Not Found: JDBC driver oracle.jdbc.driver.OracleDriver could not be loaded
这个build.xml有什么问题?很奇怪,它昨天工作了几次,但再也没有工作过

在任务中使用
classpath=“E:\MyDir\lib\ojdbc14-10\u 2\u 0\u 3.jar”
会给出相同的错误消息


我使用的是ant 1.7.1(内置Netbeans 6.5)

而不是classpathref属性,您可以尝试使用classpath元素

<sql ..params..>
  <classpath refid="antclasspath"/>
</sql>


这就是我总是引用类路径的方式,我从来没有遇到过任何问题。

尝试将类名更改为oracle.jdbc.OracleDriver。oracle.jdbc.driver包已被弃用,取而代之的是oracle.jdbc


请参阅自述文件中的“旧的oracle.jdbc.driver包将消失”一节。

语法在我看来是正确的。尝试将
-v
开关传递给ant命令,这将指示
sql
任务打印出它使用的类路径。您应该看到如下内容:

[sql] connecting to jdbc:oracle:thin:@myserver.hu:1521:dbid
[sql] Loading oracle.jdbc.driver.OracleDriver using AntClassLoader with classpath E:\MyDir\lib\ojdbc14-10_2_0_3.jar
[sql] Executing commands
[sql] SQL:  select * from dual
[sql] Processing new result set.
[sql] DUMMY
[sql] X

[sql] 0 rows affected
[sql] 0 rows affected
[sql] Committing transaction
[sql] 1 of 1 SQL statements executed successfully
如果这没有帮助,您可以尝试传递
-debug
开关,它将输出大量信息,包括类加载器调试


最后,您是否验证了ojdbc jar没有损坏,并且实际上包含OracleDriver类?

谢谢您的提示。不幸的是,我收到了相同的错误消息。没有帮助。错误消息会根据重命名而更改。是的,jar文件已损坏-v开关给了我一条错误消息。谢谢
[sql] connecting to jdbc:oracle:thin:@myserver.hu:1521:dbid
[sql] Loading oracle.jdbc.driver.OracleDriver using AntClassLoader with classpath E:\MyDir\lib\ojdbc14-10_2_0_3.jar
[sql] Executing commands
[sql] SQL:  select * from dual
[sql] Processing new result set.
[sql] DUMMY
[sql] X

[sql] 0 rows affected
[sql] 0 rows affected
[sql] Committing transaction
[sql] 1 of 1 SQL statements executed successfully