Je cherche quelque chose de similaire à la tâche sql Ant mais accepte une URL JDBC du format:Comment puis-je me connecter à une base de données Oracle à partir de Ant en utilisant le nom tns?
jdbc:oracle:thin:@TNS_NAME
Une approche possible semble être d'écrire ma propre tâche Ant qui utilise un OracleDataSource pour créer la Connexion, mais y a-t-il un moyen de le faire directement dans Ant?
EDIT: Merci pour les réponses jusqu'à présent les gars. J'espère que cela aidera si j'élabore un peu plus sur l'erreur que je reçois.
Ma tâche Ant se présente comme suit:
<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>
Cela échoue avec l'erreur:
java.sql.SQLException: Io exception: Unknown host specified
Remplacement de l'URL avec "jdbc: oracle: thin: @HOST: PORT: INSTANCE" œuvres bien, et je peux aussi tnsping le nom de tns utilisé ci-dessus, donc je sais que c'est valide.
Cela devrait fonctionner avec la tâche Ant sql habituelle, n'est-ce pas? Y a-t-il un problème à l'utiliser de cette façon? – Stobor
Ce serait parfait si cela fonctionnait, mais je dois faire quelque chose de mal. J'ai mis à jour la question avec mon script Ant - y a-t-il un défaut? – zakvdm
Êtes-vous connecté avec Oracle ou MySQL? –