Ich suche etwas ähnliches auf die Ant Task SQL, aber das wird eine JDBC-URL des Format annehmen:Wie kann ich eine Verbindung zu einer Oracle-Datenbank von Ant mit dem tnsname herstellen?
jdbc:oracle:thin:@TNS_NAME
Ein möglicher Ansatz meiner eigenen Ant Aufgabe zu sein scheint zu schreiben, die eine OracleDataSource verwendet das schaffen Verbindung, aber gibt es eine Möglichkeit, dies direkt in Ant zu tun?
EDIT: Danke für die Antworten bisher Jungs. Ich hoffe es hilft, wenn ich ein wenig mehr auf den Fehler eingehen werde, den ich bekomme.
Meine Ant-Task sieht wie folgt aus:
<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>
Dies mit dem Fehler fehlschlägt:
java.sql.SQLException: Io exception: Unknown host specified
die URL Ersetzen mit "jdbc: oracle: thin: @HOST: PORT: INSTANZ" Werke Gut, und ich kann auch den oben verwendeten DNS-Namen verwenden, damit ich weiß, dass er gültig ist.
Das sollte nur mit der üblichen Ant SQL Aufgabe funktionieren, oder? Gibt es ein Problem damit? – Stobor
Es wäre perfekt, wenn es nur funktioniert hätte, aber ich muss etwas falsch machen. Ich habe die Frage mit meinem Ant-Skript aktualisiert - gibt es einen Fehler? – zakvdm
Sind Sie mit Oracle oder MySQL verbunden? –