2012-07-01 6 views
5

मैं सी # विजुअल स्टूडियो 2012 आरसी में एक एप्लीकेशन बना रहा हूं।एसएमओ लाइब्रेरी का उपयोग कर सी # में आवेदन से .sql फ़ाइल चलाएं

मुझे एप्लिकेशन के भीतर स्क्रिप्ट चलाने की ज़रूरत है। इसके लिए मैं उपयोग कर रहा हूँ। इन दो पुस्तकालयों। मेरा आवेदन का लक्ष्य। नेट फ्रेमवर्क 4.5 है।

using Microsoft.SqlServer.Management.Smo; 
using Microsoft.SqlServer.Management.Common; 

मैंने मौसम डेटाबेस की जांच के बाद स्क्रिप्ट चलाने के लिए कोड लिखा था या नहीं।

जब मैं कोड चलाता हूं तो एक अप्रत्याशित अपवाद पॉप अप होता है। मुझे सच में पता है इसका क्या मतलब है। क्या आप इस अपवाद से छुटकारा पाने के लिए कृपया मेरी मदद कर सकते हैं।

मैं अपना कोड और अपवाद पूर्वावलोकन भी संलग्न कर रहा हूं।

कृपया मेरी मदद करें ... मैंने पहले से ही बहुत कुछ किया है।

enter image description here

**Here are the Exception Details.** 

System.IO.FileLoadException बिना क्रिया था HRESULT = -+२१४६२३२७९९ संदेश = मिश्रित मोड विधानसभा संस्करण रनटाइम का 'v2.0.50727' के खिलाफ बनाया गया है और 4.0 क्रम में लोड नहीं किया जा सकता है अतिरिक्त विन्यास जानकारी के बिना। स्रोत = mscorlib StackTrace: System.Reflection.RuntimeAssembly.GetType (RuntimeAssembly विधानसभा, स्ट्रिंग नाम, बूलियन throwOnError, बूलियन ignoreCase, ObjectHandleOnStack प्रकार) System.Reflection.RuntimeAssembly.GetType पर (स्ट्रिंग नाम, बूलियन throwOnError, बूलियन ignoreCase पर) System.Reflection.Assembly.GetType (स्ट्रिंग नाम, बूलियन throwOnError) Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements पर (स्ट्रिंग क्वेरी, ExecutionTypes executionType, Int32 & statementsToReverse) पर Microsoft.SqlServer.Management.Common पर .ServerConnection.ExecuteNonQuery (स्ट्रिंग sqlCommand, निष्पादन प्रकार निष्पादन टाइप) माइक्रोसॉफ्ट.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (स्ट्रिंग sqlCo पर) mmand) ई में McFarlaneIndustriesPOSnamespace.SplashScreen.CreateDatabase() पर: \ बिक्री के स्रोत कोड \ McFarlaneIndustries \ SplashScreen.cs का काम करता है \ McFarlane इंडस्ट्रीज \ McFarlane इंडस्ट्रीज प्वाइंट: लाइन 139 McFarlaneIndustriesPOSnamespace.SplashScreen.splashScreenTimer_Tick पर (वस्तु प्रेषक, EventArgs ई) ई में: \ वर्क्स \ मैकफ़ारलेन इंडस्ट्रीज \ मैकफ़ारलेन इंडस्ट्रीज प्वाइंट ऑफ़ सेल सोर्स कोड \ मैकफ़ारलेन इंडस्ट्रीज \ स्प्लैशस्क्रीन सीएस: सिस्टम 15 9 सिस्टम.विंडोज़.फॉर्म। टिमर.ऑनटिक (इवेंटआर्ग ई) सिस्टम.विंडोज़.फॉर्म.इमर पर। TimerNativeWindow.WndProc (संदेश & मी) System.Windows.Forms.NativeWindow.DebuggableCallback (IntPtr hWnd, Int32 संदेश, IntPtr wParam, IntPtr lParam) पर System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW पर (एमएसजी & संदेश)System5indows.Forms.Aplication.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (IntPtr dwComponentID, Int32 कारण, Int32 pvLoopData) System.Windows.Forms.Aplication.ThreadContext.RunMessageLoopInner (Int32 कारण, ApplicationContext System.Windows.Forms.Application.Run (फॉर्म MainForm) पर संदर्भ) System.Windows.Forms.Application.ThreadContext.RunMessageLoop (Int32 कारण ApplicationContext संदर्भ) पर ई में McFarlaneIndustriesPOSnamespace.Program.Main() पर: \ Works \ McFarlane इंडस्ट्रीज \ McFarlane इंडस्ट्रीज प्वाइंट बिक्री स्रोत कोड \ McFarlaneIndustries \ Program.cs: System 19AppSystem.AppDomain पर।_nExecuteAssembly (RuntimeAssembly विधानसभा, स्ट्रिंग [] args) System.AppDomain.nExecuteAssembly पर (RuntimeAssembly विधानसभा, स्ट्रिंग [] args) System.Runtime.Hosting.ManifestRunner.Run (बूलियन checkAptModel) पर System.Runtime.Hosting.ManifestRunner पर .ExecuteAsAssembly() System.Runtime.Hosting.ApplicationActivator.CreateInstance पर (activationContext activationContext, String [] activationCustomData) System.Activator.CreateInstance पर System.Runtime.Hosting.ApplicationActivator.CreateInstance (activationContext activationContext) पर (activationContext activationContext) माइक्रोसॉफ्ट पर। VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() सिस्टम पर। थ्रेडिंग। थ्रेडहेल्पर। थ्रेडस्टार्ट_Context (ऑब्जेक्ट स्टेट) System.Threading.ExecutionContext.RunInternal पर (ExecutionContext executionContext, ContextCallback कॉलबैक, वस्तु राज्य, बूलियन preserveSyncCtx) System.Threading.ExecutionContext.Run पर (ExecutionContext executionContext, ContextCallback कॉलबैक, राज्य वस्तु बूलियन preserveSyncCtx) System.Threading पर । ExecutionContext.Run (executionContext executionContext, ContextCallback कॉलबैक, राज्य वस्तु) System.Threading.ThreadHelper.ThreadStart() InnerException पर:

+0

कृपया अपवाद विवरण – saille

+0

पोस्ट करें मैंने प्रश्न संपादित किया है और जैसा आपने पूछा है अपवाद विवरण जोड़ता है। स्नैपशॉट उस बिंदु को दिखाता है जिस पर अपवाद पॉप अप होता है। कृपया विवरण और स्नैपशॉट भी देखें। –

उत्तर

5

ऐसा लगता है कि आप Microsoft.SqlServer.xxxx के .net 2 संस्करण लोड करने के लिए कोशिश कर रहे हैं .dll। एक .net4 संस्करण (बेहतर) के लिए अपने संदर्भ से अपडेट करें या <configuration> नोड

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/> 
    <requiredRuntime version="v4.0" /> 
</startup> 

के तहत अपने app.config के लिए निम्न मंत्र जोड़ने .net 2 विधानसभाओं के लदान करने के लिए। here for details देखें।

+0

मेरी परियोजना में संदर्भित इन दो पुस्तकालयों में मेरी असेंबली में नहीं था। तो मैं एसक्यूएल सर्वर 2008 आर 2 के लिए एमएसआई फ़ाइल "SharedManagementObjects.msi" x64 डाउनलोड करता हूं। उसके बाद यह अपवाद पॉप अप हो गया। अब मैं इस फ़ाइल को एसक्यूएल सर्वर 2012 वेबपृष्ठ से डाउनलोड करने जा रहा हूं। मुझे उम्मीद है कि नेट टकराव नहीं आता है। क्या मैं सही सर जा रहा हूँ। क्या मैं वास्तव में इसे स्थापित करता हूं। या कुछ और। क्या यह सही तरीका है। –

+0

हमें बताएं कि sqlsvr2012 में .NET 4 SMO API है या नहीं। यदि नहीं, चीजों को काम करने के लिए app.config संशोधनों का उपयोग करें। – spender

+0

आप महान हैं ... आप सबसे अच्छे हैं ... आप महान हैं ... महोदय ... मैं अब आप प्रशंसक हूं ... मेरी समस्या हल हो गई है ... धन्यवाद .. बहुत कुछ। बहुत बहुत बहुत बहुत कुछ ... –

संबंधित मुद्दे