Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle db से .Net ऐप में विशेष वर्णों का उपयोग/प्रदर्शित करने में समस्या

WE8ISO8859P1 वर्ण सेट में कुछ वर्णों का UTF8 में समान वर्ण से भिन्न बाइनरी प्रतिनिधित्व है।

मैं जो सुझाव देता हूं वह 2 संभावित तरीके हैं

1) .NET (ODP.NET) के लिए Oracle देशी डेटा प्रदाताओं का उपयोग करने का प्रयास करें। हो सकता है कि Microsoft की लाइब्रेरी System.Data.OracleClient में एक बग/फीचर हो कि यह एडेप्टर WE8ISO8859P1 को यूनिकोड में बदलने का स्वचालित रूप से समर्थन नहीं करता है। यहां ODP.NET का लिंक दिया गया है

मुझे उम्मीद है कि ओडीपी में इस एन्कोडिंग के लिए एक समर्थन होगा (लेकिन सच कहूं तो मैंने इसे कभी चेक नहीं किया, यह केवल एक सुझाव है)

2) समाधान:डेटासेट में, आपको एक बाइनरी फ़ील्ड (मूल तालिका फ़ील्ड में मैप किया गया) और एक स्ट्रिंग फ़ील्ड (डेटाबेस में मैप नहीं किया गया) बनाना चाहिए। जब आप डेटासेट में डेटा लोड करते हैं, तो प्रत्येक पंक्ति के लिए पुनरावृति करें और बाइनरी सरणी से स्ट्रिंग में रूपांतरण करें।

कोड कुछ इस तरह होना चाहिए

Encoding e = Encoding.GetEncoding("iso-8859-1");
foreach(DataRow row in dataset.Tables["MyTable"])
{
    if (!row.IsNull("MyByteArrayField"))
        row["MyStringField"] = e.GetString((row["MyByteArrayField"] as byte[]));
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy में SQL क्वेरीज़ के मुद्रण को सुंदर स्वरूपित कैसे करें?

  2. Oracle 9i, Oracle 10g और Oracle 11g डेवलपर सुइट फॉर्म और रिपोर्ट ट्यूटोरियल

  3. SQL-Developer IDE के साथ Fedora Linux पर Oracle डेटाबेस एक्सप्रेस संस्करण (XE) 18c को कैसे स्थापित और प्रारंभ करें

  4. ओरेकल:XMLElement () के साथ किसी विशिष्ट नामस्थान में तत्व कैसे बनाएं

  5. ORACLE में टाइमस्टैम्प कॉलम से समय भाग निकालें