पर मेरे पास एक एसएसआईएस पैकेज है जो एक स्क्रिप्ट कार्य (ज्यादातर, और कुछ अन्य चीजें) चलाता है। स्क्रिप्ट कार्य ओलेडीबी कनेक्शन का उपयोग कर एक्सेस डेटाबेस से जुड़ता है। यह माइक्रोसॉफ्ट जेट 4.0 कनेक्शन है। मेरे पास ड्राइवर स्थापित हैं। लेकिन यह प्रॉक्सी खाते के माध्यम से एसक्यूएल एजेंट में नहीं चलेगा। यह सीधे विजुअल स्टूडियो और पैकेज स्टोर से ठीक चलाएगा। वास्तव में, यह उन दोनों स्थानों पर ठीक चलता है जब मैं विशेष खाते के रूप में लॉग इन करता हूं जो प्रॉक्सी से जुड़ा होता है। लेकिन जब मैं SQL सर्वर एजेंट के माध्यम से चलाता हूं, तो मुझे डरावनी "अनिर्दिष्ट त्रुटि" OleDbException मिलती है। स्क्रिप्ट कार्य सेएसबीआईएस पैकेज के साथ एसक्यूएल एजेंट जॉब विफलता डीबी
प्रासंगिक कोड:
// class field
private string accessConnectionStringTemplate = "Data Source=\"{0}\";Provider=Microsoft.Jet.OLEDB.4.0;";
// in method that connects to database
Print(file, "Connection string: " + string.Format(accessConnectionStringTemplate, file.FileName));
// outputs: Data Source = "\Path\To\File";Provider=Microsoft.Jet.OLEDB.4.0"
using(access = new OleDbConnection(string.Format(accessConnectionStringTemplate, file.FileName))) {
access.Open();
// other code
}
एसक्यूएल एजेंट कार्य इतिहास के माध्यम से त्रुटि संदेश:
- प्रवेश:
Started: 12:35:10 PM Error: 2016-11-03 12:35:33.51 Code: 0x00000000 Source: Import Files Main Description: Exception: Unspecified error End Error Error: 2016-11-03 12:35:33.51 Code: 0x00000000 Source: Import Files Main Description: at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OleDb.OleDbConnection.Open() at ST_cc0028a4b56242909c2eae546a807995.csproj.ScriptMain.ImportFile(AccessFile file, DateTime startRecordDate, DateTime endRecordDate, List`1 accessTables, Boolean includeTransactionTables, List`1 specifiedTableList) at ST_cc0028a4b56242909c2eae546a807995.csproj.ScriptMain.Main() End Error Error: 2016-11-03 12:35:33.51 Code: 0x00000006 Source: Import Files Description: The script returned a failure result. End Error
कुछ बातें मुझे यकीन है कि के द्वारा किए गए ड्राइवर स्थापित हैं और SQL सर्वर पर सर्वर पर काम करते हैं। मैंने वीएस में पैकेज को मेरे खाते और प्रॉक्सी के खाते दोनों के रूप में बिना किसी समस्या के पैकेज के द्वारा सत्यापित किया।
- प्रॉक्सी खाते में प्रश्न में फ़ाइल तक पहुंच है। फिर, प्रॉक्सी के खाते के रूप में सर्वर में लॉग इन करके सत्यापित किया गया। फ़ाइल नेटवर्क शेयर पर है, लेकिन पथ को यूएनसी पथ के रूप में निर्दिष्ट किया गया है।
- प्रॉक्सी खाते में अन्य डेटाबेस तक पहुंच है जो इस ऑपरेशन का हिस्सा हैं, त्रुटि के किसी अन्य संभावित स्रोत को रद्द करने के लिए।
- पैकेज स्टोर (एसएसएमएस के माध्यम से) से पैकेज चला रहा है क्योंकि मेरा खाता और प्रॉक्सी का खाता दोनों काम करता है। मैंने यह सुनिश्चित करने के लिए डेटाबेस सर्वर पर किया था।
अन्य प्रश्नों में मैंने इंटरनेट पर इस बारे में देखा है, यह आमतौर पर ड्राइवरों के साथ एक मुद्दा है। इस मामले में, मुझे यकीन नहीं है कि यह कैसे हो सकता है।
मुझे अन्य निदान में सहायता के लिए अतिरिक्त जानकारी प्रदान करने में प्रसन्नता हो रही है। मैं खुद पूरी तरह से अनिश्चित हूं कि यह क्यों काम नहीं कर रहा है।
विषम, क्या फ़ाइल किसी भी तरह से खुली या बंद है? – Siyual
@Siyual: यह नहीं है। और चूंकि मैं इसे एसक्यूएल एजेंट के बाहर चलाने में सक्षम हूं, इसलिए यह समस्या प्रतीत नहीं होती है। मुझे लगता है कि यह संभव है कि जब मैं एजेंट नौकरी चलाता हूं और किसी अन्य समय पर कोई इसे सही नहीं खोलता है, लेकिन ऐसा लगता है कि यह बहुत ही असंभव है। – siride
ठीक है - यहां एक झुकाव है: नाममात्र, कनेक्शन स्ट्रिंग तर्क अर्धविराम सीमित हैं और तर्कों के चारों ओर उद्धरण पसंद नहीं करते हैं - यहां तक कि एम्बेडेड रिक्त स्थान के साथ भी तर्क देते हैं। बस उद्धरण बाहर ले जाने का प्रयास करें। क्या वह एक किकर नहीं होगा? – Clay