एक .SQL स्क्रिप्ट फ़ाइल चींटी से यह निम्नलिखित कार्य का उपयोग कर ठीक काम करता है निष्पादित करने के लिए:एएनटी एसक्यूएल कार्य: एसक्यूएल और पीएल/एसक्यूएल कैसे चलाएं और निष्पादन विफलता नोटिस करें?
<sql
classpath="${oracle.jar}" driver="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@@@{db.hostname}:@{db.port}:@{db.sid}"
userid="@{db.user}"
password="@{db.password}"
src="@{db.sql.script}" />
लेकिन अगर sql फ़ाइल न केवल शुद्ध एसक्यूएल शामिल लेकिन यह भी PL/SQL कार्य असफल हो जायेगी। यह निम्नलिखित स्निपेट का उपयोग करके हल किया जा सकता:
<sql
classpath="${oracle.jar}" driver="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@@@{db.hostname}:@{db.port}:@{db.sid}"
userid="@{db.user}"
password="@{db.password}"
delimiter="/"
delimitertype="row"
src="@{db.sql.script}" />
लेकिन मेरी स्क्रिप्ट शामिल दोनों एसक्यूएल और PL/SQL तो न चींटी कार्य काम करेंगे। एक अन्य समाधान "sqlplus" के साथ "कार्यकारी" कार्य का उपयोग करने के होगा:
<exec executable="sqlplus" failonerror="true" errorproperty="exit.status">
<arg value="${db.user}/${db.password}@${db.hostname}:${db.port}/${db.sid}"/>
<arg value="@${db.sql.script}"/>
</exec>
लेकिन दुर्भाग्य से इस कार्य के असफल कभी नहीं होगा, इसलिए निर्माण के साथ "सफल" हमेशा रिटर्न भले ही एसक्यूएल स्क्रिप्ट निष्पादन में विफल रहा है। त्रुटि प्रॉपर्टी जिसे मैंने सेट करने का प्रयास किया है, कोई त्रुटि कोड नहीं लौटाएगा।
कोई समस्या/सुझाव इस समस्या को हल करने के लिए कैसे करें?
धन्यवाद,
पीटर
मैंने स्लिम के साथ अर्धविराम को प्रतिस्थापित करने की कोशिश की और यह ठीक काम करता है। हालांकि मेरे पास कुछ पैकेज स्क्रिप्ट बनाते हैं जो मेरे पास सेमी कॉलन के साथ हैं। यदि मैं स्लैश चींटी के साथ अर्ध कोलन को प्रतिस्थापित करता हूं तो सफलतापूर्वक एसक्यूएल स्क्रिप्स निष्पादित करता है लेकिन त्रुटि के कारण सभी संकुल संकलन त्रुटियों के साथ बनाए जाते हैं 'एनकॉन्टेड प्रतीक /' क्या इस मुद्दे को हल करने के कोई तरीके हैं? धन्यवाद – user75ponic