2017-07-27 17 views
10

1. किसी को भी सफलतापूर्वक ग Sybase एएसई के लिए # से ODBC इस्तेमाल किया गया है?
2. या बेहतर, किसी को भी सफलतापूर्वक नेट कोर के साथ Sybase एएसई इस्तेमाल किया गया है?साइबेस ODBC नेट कोर

मैं नेट कोर 1.1 और वर्तमान Sybase.AdoNet4.AseClient.dll उपयोग कर रहा हूँ काम नहीं करता है, तो मैं ODBC उपयोग करने का प्रयास कर रहा हूँ। इन-लाइन प्रश्नों के साथ अच्छी तरह

  • Mono.Data.OdbcCore (NuGet)
  • MSA.Net.Core.ODBC (NuGet)

दोनों काम करते हैं: मैं दो ODBC संकुल का उपयोग करने की कोशिश की है और दोनों काम अच्छी तरह से पैरामीटर के बिना एक Sybase स्टोर प्रक्रिया बुला लेकिन जब एक एसपी, जहां पैरामीटर आवश्यक हैं करने के लिए मानकों को भेजने की कोशिश कर दोनों एक ही सटीक त्रुटि है।

command.CommandType = CommandType.StoredProcedure; 
command.CommandText = "XX_GetLookUp"; 
command.Parameters.Add("@Type", OdbcType.VarChar).Value = "ACC"; 
using (var reader = command.ExecuteReader()) { 
    ... 
} 

मैं लगातार command.ExecuteReader() के दौरान निम्न त्रुटि प्राप्त: System.Data.Odbc.OdbcException: 'त्रुटि [ZZZZZ] [एसएपी] [एएसई

यहाँ एक टुकड़ा है ओडीबीसी चालक] [अनुकूली सर्वर एंटरप्राइज़] प्रक्रिया iKYC_GetLookUp पैरामीटर @ टाइप टाइप की अपेक्षा करता है, जो आपूर्ति नहीं की गई थी।

मैंने का उपयोग करने के बिना @ के बिना और बिना किसी त्रुटि के उत्पन्न करने का प्रयास किया है।

मैं कई अन्य जायके के साथ-साथ कोशिश किया था: "{(?) Dbo.iKYC_GetLookUp फोन}"

  • command.CommandText =;
  • कमांड। कमांडटेक्स्ट = "{dbo.iKYC_GetLookUp} कॉल करें";
  • command.CommandText = "{(?) Dbo.iKYC_GetLookUp}";
  • कमांड। कमांडटेक्स्ट = "dbo.iKYC_GetLookUp (?)";
  • कमांड। कमांडटेक्स्ट = "dbo.iKYC_GetLookUp?";

कहाँ प्रत्येक ऊपर उत्पन्न करता है: System.Runtime.InteropServices.SEHException: '। बाहरी घटक एक अपवाद फेंका गया है'

मैं भी कोई भाग्य के साथ अलग पैरामीटर वस्तु का निर्माण करने की कोशिश की (एक ही त्रुटि, लापता @Type):

OdbcParameter p = new OdbcParameter(); 
p.ParameterName = "@Type"; 
p.DbType = DbType.AnsiString; 
p.Direction = ParameterDirection.InputOutput; 
p.Value = "ACC"; 
cmd.Parameters.Add(p); 

के रूप में पहले कहा गया है, अगर मैं अशक्त के रूप में पैरामीटर बनाने पर, स्टोर प्रक्रिया, कोड काम करता है और डेटा अपेक्षित, के रूप में वापस कर दिया जाता है, इसलिए यह समस्या पारित पैरामीटर के आसपास दिखाई देती है।

किसी को भी सफलतापूर्वक C# Sybase एएसई से ODBC इस्तेमाल किया गया है? क्या किसी ने .NET कोर के साथ सफलतापूर्वक साइबेस एएसई का उपयोग किया है?

अतिरिक्त जानकारी: मैं दृश्य स्टूडियो 2017 (v 15.2) का उपयोग कर रहा हूँ। कोर 1.1 और साइबेस एएसई 16.0 एसपी 2 का उपयोग करना।

उत्तर

2

हमारे पास एक समान समस्या थी - हम एडब्ल्यूएस सर्वरलेस स्टैक पर ADO.NET का उपयोग करना चाहते थे - जो केवल .NET कोर है। हमने .NET कोर के लिए एसएपी अनुरोध समर्थन के साथ एक मुद्दा उठाया, लेकिन कुछ भी वापस नहीं मिला।

हम ओडीबीसी के साथ गए थे और इसे हमारी संग्रहीत प्रक्रियाओं पर वापसी मूल्यों के साथ काम नहीं कर सका, और बुलेट को थोड़ा और एएसई 15-16 के लिए अपना स्वयं का एडीओ.NET कोर डीबीप्रोवाइडर लिखा।

यह एनईटी कोर में मूल रूप से हुड के तहत टीडीएस 5 प्रोटोकॉल लागू करता है और हमारे सभी परीक्षण मामलों में एसएपी/साइबेस कार्यान्वयन को बेहतर बनाता है।

https://github.com/DataAction/AdoNetCore.AseClient

वहाँ खुद के लिए इकाई, एकीकरण और बेंचमार्क परीक्षण चलाने के लिए विकि पर डॉक्स है।

अधिकतर सुविधाएं लागू की जाती हैं, और पुल अनुरोध और प्रतिक्रिया का स्वागत है। .NET 4.6 और .NET कोर 1.0, 1.1 और 2.0 समर्थित हैं।

हमारे पास यह एडब्ल्यूएस लैम्ब्डा और .NET कोर 2.0 का उपयोग कर काम कर रहा है।

+1

वही, कोर के लिए एसएपी समर्थन के साथ शून्य सहायता। आपके कार्यान्वयन पर एक नज़र डालेंगे! –

+1

इस प्रदाता को साझा करने के लिए आपको बहुत बहुत धन्यवाद। एसएपी/सिबेज इतना दर्द है। – chris

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