jdbc:oracle:thin:@TNS_NAME
一个可能的方法似乎是编写自己的Ant任务,使用OracleDataSource创建连接,但是否有一种直接在Ant中完成这个任务的方法?
编辑: 感谢大家迄今为止的回复。如果我更详细地解释一下我遇到的错误,希望能有所帮助。
我的Ant任务如下所示:
<target name="MyTarget" >
<property name="oracle.net.tns_admin" value="/opt/oracle/product/10.2.0.1/NETWORK/ADMIN" />
<property name="jdbc.driver" value="ojdbc5.jar" />
<property name="jdbc.i18n.support" value="orai18n.jar" />
<property name="jdbc.driver.class" value="oracle.jdbc.OracleDriver" />
<path id="sql.class.path">
<pathelement location="${jdbc.driver}" />
<pathelement location="${jdbc.i18n.support}" />
</path>
<sql driver="${jdbc.driver.class}" url="jdbc:oracle:thin:@THE_TNS_NAME" userid="USER" password="PASSWORD" classpathref="sql.class.path" >
<![CDATA[
#SOME ARBITRARY SQL HERE
]]>
</sql>
</target>
使用以下方式会出现错误:
java.sql.SQLException: Io异常:指定的主机未知
将url替换为“jdbc:oracle:thin:@HOST:PORT:INSTANCE”即可正常工作。我也可以使用tnsping命令测试上述使用的TNS名称,所以我知道它是有效的。