ant
2010-07-09 233 views 0 likes 
0

嘗試下面的代碼:ANT:JDBC驅動程序錯誤

<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 

請幫助。

現在我已經更新了代碼。將類路徑添加到前面的代碼。還要將mysql-connector-java-3.0.8-stable-bin.jar和postgresql-8.4-701.jdbc3.jar文件添加到ANT_HOME/lib中,但仍然收到相同的錯誤。

+0

您使用的數據庫是?使用該驅動程序的DB – JoseK 2010-07-09 09:14:05

+0

@JoseK - 我正在使用Oracle 9i數據庫 – Shaun 2010-07-09 09:23:21

+0

您確定您的驅動程序名稱是正確的嗎?據我在例子中看到的,它是「org.postgresql.Driver」。你可以看到裏面的jar確定 – burnall 2010-07-09 10:47:14

回答

6

,你可以嘗試

<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> 

如果你仍然有同樣的錯誤,運行ant與-v開關。這將指示sql任務打印出它正在使用的類路徑,並且可以驗證。

+0

非常感謝,這工作正常。 – Shaun 2010-07-09 11:54:19

1

應指定類路徑到驅動程序

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

,並定義你的類路徑

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

越來越Error'Unresolvable引用$ {antclasspath}可能是一個誤用屬性擴展語法' – picnic4u 2011-09-07 07:35:16

1

不包含org.database.jdbcDriver的jar在類路徑?你可能需要添加如果您在使用Oracle中的classpath屬性

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

我已經創建了一個ODBC驅動程序,也添加了classpath。但仍然ANT找不到司機。 – Shaun 2010-07-09 10:03:37

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> 
+0

也許你可以爲你的代碼解決問題添加一些解釋? – alestanis 2012-10-20 12:13:25

相關問題