我想提供一个简单的SQL查询的结果(类似于:) select SP_NUMBER from SERVICE_PACK,我在我的ant脚本(使用sql任务)中运行回到ant属性(例如service.pack.number).
该sql任务可以输出到文件,但有一个更直接的方式?
我正在寻找类似于Ant sql任务的东西,但是它将接受格式的JDBC url:
JDBC:预言:瘦:@TNS_NAME
一种可能的方法似乎是编写我自己的Ant任务,该任务使用OracleDataSource来创建Connection,但有没有办法直接在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>
Run Code Online (Sandbox Code Playgroud)
这失败并出现错误:
java.sql.SQLException:Io异常:指定了未知主机
用"jdbc:oracle:thin:@HOST:PORT:INSTANCE"替换url工作正常,我也可以调整上面使用的tns名称,所以我知道它是有效的.