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>