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:Jdbc驱动程序错误_Ant - Fatal编程技术网

ANT:Jdbc驱动程序错误

ANT:Jdbc驱动程序错误,ant,Ant,正在尝试以下代码: <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> 请帮忙 现在我已经更新了代码。将

正在尝试以下代码:

 <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>
请帮忙


现在我已经更新了代码。将类路径添加到前面的代码中。同时将mysql-connector-java-3.0.8-stable-bin.jar和postgresql-8.4-701.jdbc3.jar文件添加到ANT_HOME/lib中,但仍然会出现相同的错误。

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

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

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

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

如果您使用的是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> 

从选项卡中选择*,其中tname='GR_DOCUMENT_PRINT_DFV';
如果仍然存在相同的错误,请使用-v开关运行ant。这将指示sql任务打印出它使用的类路径,您可以进行验证。


    <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>
创建表空间${TablespaceName}数据文件${DatafilePath}/${DatafileNAME}大小为5M的重用自动扩展下一个1280K MAXSIZE无限扩展数据块管理本地段空间管理自动; 创建由${oracle.dbpassword}默认表空间${TablespaceName}临时表空间TEMP标识的用户${oracle.dbuser}; 向${oracle.dbuser}授予connect、resource和无限表空间; alter user${Username}默认角色所有;
您使用的是什么数据库?使用一个驱动程序DB@JoseK-我正在使用Oracle 9i数据库您确定您的驱动程序名称正确吗?正如我在示例中看到的,它是“org.postgresql.Driver”。您可以查看jar内部,以确保我已经创建了一个ODBC驱动程序,还添加了类路径。但是ANT仍然找不到驱动程序。获取错误
无法解决的引用${antclasspath}可能是对属性扩展语法的滥用
也许您可以添加一些解释,说明为什么您的代码可以解决此问题?
<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> 
    <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>