ANT:Jdbc驱动程序错误

问题描述 投票:0回答:4

试试下面的代码:

 <sql
    classpath="postgresql-8.4-701.jdbc3.jar"
    driver="org.database.jdbcDriver"
    url="devtest"
    userid="uid"
    password="pass">

select * from tab where tname = 'GR_DOCUMENT_PRINT_DFV';

 </sql>

得到以下错误:

BUILD FAILED
C:\Program Files\Java\apache-ant-1.8.1\build.xml:62: Class Not Found: JDBC driver
org.database.jdbcDriver could not be loaded

Total time: 1 second

请帮忙。

现在我已经更新了代码。将classpath添加到上一个代码。还要将mysql-connector-java-3.0.8-stable-bin.jar和postgresql-8.4-701.jdbc3.jar文件添加到ANT_HOME / lib,但仍会出现相同的错误。

ant
4个回答
6
投票

如果您使用的是Oracle,可以试试吗?

<path id="antclasspath"> 
    <fileset dir="path-to-lib"> 
        <include name="ojdbc14.jar"/> 
    </fileset> 
</path> 


<sql 
    driver="oracle.jdbc.driver.OracleDriver" 
    url="jdbc:oracle:thin:@serverip:1521:sid" 
    userid="userid" 
    password="password" 
    print="yes" 
    classpathref="antclasspath"> 
    select * from tab where tname = 'GR_DOCUMENT_PRINT_DFV'; 
</sql> 

如果仍有相同的错误,请使用-v开关运行ant。这将指示sql任务打印出它正在使用的类路径,你可以验证。


1
投票

您应该指定驱动程序的类路径

<sql classpathref="${classpath.id}" driver="" ...

并定义您的类路径

<path id="classpath.id">
        <fileset file="..." />
</path>

1
投票

包含org.database.jdbcDriver的jar是否在classpath中?您可能需要添加classpath属性

<sql
classpath="mysql-connector-java-3.0.8-stable-bin.jar"
driver="org.database.jdbcDriver"
url="devtest"
userid="uid"
password="pass">

0
投票
    <sql
        driver="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@localhost:1521:ENOVIADEV"
        userid="sys"
        password="enoviaV6"
        expandProperties="true"
        classpathref="antclasspath">
        <connectionProperty name="internal_logon" value="SYSDBA"/>          
          <transaction>
            create tablespace ${TablespaceName} datafile '${DatafilePath}/${DatafileNAME}' size 5M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
          </transaction>
          <transaction>
          create user ${oracle.dbuser} identified by ${oracle.dbpassword} default tablespace ${TablespaceName} temporary tablespace TEMP;
         </transaction>
         <transaction>
         grant connect, resource, unlimited tablespace to ${oracle.dbuser};
         </transaction>
         <transaction>
         alter user ${Username} default role all;
         </transaction>
    </sql>
© www.soinside.com 2019 - 2024. All rights reserved.