How to connect to Oracle database from Ant using tnsname?

I am looking for something similar to the Ant sql task, but will accept a JDBC URL in the format:

JDBC: oracle: thin: @TNS_NAME

One possible way is to write my own Ant task, which uses OracleDataSource to create a Connection, but is there a way to do this directly in Ant?

EDIT: Thanks for the answers so far guys. Hope this helps if I talk a little more about the error I get.

My Ant task is as follows:

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

Error with error:

java.sql.SQLException: Io exception: specified unknown pointer

url "jdbc: oracle: thin: @HOST: PORT: INSTANCE" , tns, , , .

+5
4

. TNS , : Oracle JDBC TNS

JDBC- Oracle TNS (tnsname) , oracle.net.tns_admin JVM. , tnsnames.ora. . TNS URL- JDBC.

. jdbc: oracle: thin: @MYDB, tnsnames.ora, SQLException Io: . JVM -Doracle.net.tns_admin =/oracle/10g/NETWORK/ADMIN System.setProperty(String, String) , .

, TNS.

+6

, "" , tnsnames.ora, , sqlplus XML :

<target name="myTarget">
  <!-- login.sql should have sqlcode exit so failonerror will fail build -->
  <exec executable="sqlplus" failonerror="true">
        <arg value="${userid}/${password}@${tnsalias}"/>
        <arg value="@myScript"/>
  </exec>
</target>

... .

[ userid, password tnsalias ]

, , , Instant Client.

0

, NETWORK/ADMIN, /admin?

Unix - (, Unix).

0

All Articles