2009-06-11 15 views
6

मैं पता करने की जरूरत को जोड़ने के लिए विशेषताएं हैं वहाँ नेट ढांचे में .net से डीबी 2 डेटाबेस से कनेक्ट के किसी भी सुविधा है 4.0करता .Net Framework 4.0 डीबी 2

संपादित करें: - मैं अगर वहाँ किसी भी जानना चाहते डीबी 2 प्रदाता

उत्तर

3

आपका क्या मतलब है? आप .NET 4.0 के लिए विशिष्ट कुछ चाहते हैं या आप जानना चाहते हैं कि क्या हम .NET Framework का उपयोग करके डीबी 2 से कनेक्ट कर सकते हैं या नहीं।

यदि बाद में मामला है, तो आप कर सकते हैं। OleDBConnection क्लास (जो .NET 2.0 और .NET 3.5 में भी उपलब्ध है) में एक संपत्ति कनेक्शन स्ट्रिंग है जिसमें आप प्रदाता के विवरण सेट करते हैं। आपको बस अपने डीबी 2 प्रदाता के लिए प्रदाता की कनेक्शन स्ट्रिंग देना होगा और आपको ठीक होना चाहिए।

17

हाँ, आईबीएम.डाटा.डीबी 2 ड्राइवरों (सामूहिक रूप से आईबीएम.डाटा.डीबी 2 डीएल में पाया गया), परिवार में पाया गया है। नेट के साथ ठीक काम करना चाहिए, जिससे आप अपनी विकास मशीन पर ड्राइवर स्थापित कर सकते हैं।

इसके अतिरिक्त, मैं वीएस -2010 बीटा और ईएफ 4 बीटा 2 के साथ सफलतापूर्वक काम करने में सक्षम था, वीएस -2010 के लिए विजुअल स्टूडियो एड-इन्स की कमी के बावजूद (इस तिथि के अनुसार।) यदि ड्राइवर पहले से ही आपकी मशीन पर स्थापित हैं, तो आप बस .NET 4.0 के clr के लिए machine.config फ़ाइल में इसके लिए एक प्रविष्टि जोड़ने की आवश्यकता है।

संपादित करें: नमूना machine.config मार्कअप निम्नानुसार है। मूल रूप से, कॉन्फ़िगरेशन फ़ाइल में केवल एक SQL सर्वर डीबी प्रदाता फैक्टरी प्रविष्टि थी। मान लीजिए कि आपके पास आईबीएम.डाटा.डीबी 2 आपके मशीन पर स्थापित है, तो आप जो कर सकते हैं वह कर सकते हैं और बस अपनी 2.0 की मशीन.कॉन्फिग फ़ाइल खोल सकते हैं और डीबी 2 के लिए प्रविष्टियों को कॉपी/पेस्ट कर सकते हैं। पूर्ण प्रकटीकरण, मैं ईमानदारी से नहीं जानता कि सभी 4 की आवश्यकता है, लेकिन 9.7 एफपी 1 के एक साफ इंस्टॉल ने मेरे 2.0 मशीन.कॉन्फिग में सभी चार प्रविष्टियों को सम्मिलित किया, इसलिए मैं आगे बढ़ गया और उन्हें 4.0 मशीन.कॉन्फिग पर कॉपी कर दिया। कॉपी/पेस्ट, फ़ाइल सहेजें, और दृश्य स्टूडियो 2010 को पुनः आरंभ और आप भंडारण मॉडल परिभाषा जानकारी के साथ अपने edmx में प्रदाता संदर्भ के लिए सक्षम होना चाहिए:

<edmx:StorageModels> 
    <Schema xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl" Namespace="BlahModel.Store" Alias="Self" Provider="IBM.Data.DB2" ProviderManifestToken="IDS/UNIX64, 11.50.0000"> 

ध्यान दें कि मैं से कनेक्ट होने में दिलचस्पी रखता हूँ एक informix डेटाबेस, इसलिए ProviderManifestToken मान। हालांकि, मुझे नहीं लगता कि यह आवश्यक क्रियापद है।

टुकड़ा मेरी 4.0 machine.config से:

<system.data> 
    <DbProviderFactories> 
     <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/> 
     <add name="IBM DB2 .NET Data Provider" invariant="IBM.Data.DB2" description="IBM DB2 Data Provider for .NET Framework 2.0" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" /> 
     <add name="IBM Informix .NET Data Provider" invariant="IBM.Data.Informix" description="IBM Informix Data Provider for .NET Framework 2.0" type="IBM.Data.Informix.IfxFactory, IBM.Data.Informix, Version=9.0.0.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" /> 
     <add name="IBM DB2 .NET Data Provider 9.7.1" invariant="IBM.Data.DB2.9.7.1" description="IBM DB2 Data Provider 9.7.1 for .NET Framework 2.0" type="IBM.Data.DB2.DB2Factory, IBM.Data.DB2.9.7.1, Version=9.7.1.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" /> 
     <add name="IBM Informix .NET Data Provider 9.7.1" invariant="IBM.Data.Informix.9.7.1" description="IBM Informix Data Provider 9.7.1 for .NET Framework 2.0" type="IBM.Data.Informix.IfxFactory, IBM.Data.Informix.9.7.1, Version=9.7.1.2, Culture=neutral, PublicKeyToken=7c307b91aa13d208" />   
    </DbProviderFactories> 
</system.data> 

संपादित करें 2: आईबीएम के नवीनतम डीबी 2 ड्राइवरों - v9.7fp4 - बहुत .NET 4.0 और VS2010 में सुधार हुआ है ऐड-में समर्थन करते हैं। इसकी स्थापना स्वचालित रूप से 4.0 machine.config DbProviderFactories प्रविष्टियों को संभालेगी। यदि आपने पहले वर्णित प्रविष्टियों को मैन्युअल रूप से संपादित किया है, तो आप अपने v9.7fp3 (और पहले) अनइंस्टॉल के हिस्से के रूप में उन्हें टिप्पणी/हटाना चाहेंगे।

+0

क्या आप उन ड्राइवरों को प्राप्त करने के लिए निर्देश पोस्ट कर सकते हैं (लिंक, कृपया) और फिर उन्हें कैसे इंस्टॉल करें? मैंने वीएस -2008 के लिए ऐड-इन टूलकिट स्थापित किया है, लेकिन मैं अभी भी ईएफ "डेटा स्रोत बदलें" संवाद में डीबी 2 प्रदाता नहीं देख सकता। – camainc

+0

हाँ, बनाम 2010 के लिए ऐड-इन की कमी आपको ईएफ संवाद में डीबी 2 प्रदाता को देखने से रोक रही है। मैंने मूल रूप से एक काम करने वाला 2008 उदाहरण लिया, इसे 2010 तक अपग्रेड किया, और फिर सुनिश्चित किया कि मैंने v4.0 के लिए machine.config में आवश्यक प्रविष्टि को जोड़ा है। मैंने v2.0 के machine.config से v4.0 की machine.config में आईबीएम डीबी प्रदाता प्रविष्टि को प्रतिलिपि/चिपकाया हो सकता है। मैं दोबारा जांच नहीं कर सकता, क्योंकि मैंने बनाम बनाम 2010 आरटीएम स्थापित किया है और अभी तक इस स्थिति को फिर से संशोधित नहीं किया है। – kdawg

+0

फॉलो-अप के रूप में, मैंने आईबीएम.डाटा.डीबी 2 के माध्यम से बनाम 2010010 आरटीएम और ईएफ 4 के साथ एक इन्फॉर्मिक्स डेटाबेस से सफलतापूर्वक कनेक्ट किया है। रिकॉर्ड के लिए, मैं डीबी 2 के नवीनतम ड्राइवरों (v9.7 fp1) का उपयोग कर रहा हूं और अभी भी 4.0 क्लियर के मशीन.कॉन्फिग – kdawg

3

मैं डीटी 2 से एंटिटी फ्रेमवर्क के माध्यम से कनेक्ट करने के लिए विजुअल स्टूडियो 2010 का उपयोग करने की भी कोशिश कर रहा हूं। मैंने कोशिश की क्या kdawg किया: मैं स्थापित आईबीएम डाटा सर्वर ड्राइवर पैकेज मैं आईबीएम दृश्य स्टूडियो स्थापित 2008 addins

मैं तो मेरे 2008 प्रोजेक्ट में एक ADO.NET इकाई डेटा मॉडल बना सकते हैं और फिर इसे 2010 तक परिवर्तित करने का प्रयास लेकिन डेटाबेस से कनेक्शन काम नहीं करेगा। मुझे निम्न त्रुटि मिलती है: ERROR [42 9 68] [आईबीएम] SQL1598N डेटाबेस सर्वर से कनेक्ट करने का प्रयास लाइसेंसिंग समस्या के कारण विफल रहा। SQLSTATE = 42968

जाहिर है, इस forum के अनुसार, आईबीएम ड्राइवर को मुफ्त में प्रदान नहीं करता है। आपके पास डीबी 2 कनेक्ट स्थापित होना चाहिए और लाइसेंस प्राप्त होना चाहिए। यह लगभग 12,000 डॉलर है।

मैंने कुछ और करने का फैसला किया।

+0

+1 मुफ्त में नहीं – walterhuang

1

इसके अलावा, आप il.il को ildasm.exe साथ lib डिकंपाइल कर सकते हैं

फिर एसडीके 7 का उपयोग कर संकलन ilasm.exe /RESOURCE=...\IL.res ... \ il.il/आउटपुट = ... \ Ibm.Data.Db2.Net4.dll/DLL