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

सी # एसक्लकनेक्शन अपवाद:कीवर्ड समर्थित नहीं 'पोर्ट'

SqlConnection SQL सर्वर के लिए विशिष्ट है। आपको NpgsqlConnection . का उपयोग करना होगा Postgres कनेक्शन का उपयोग करने के लिए, जिसका अर्थ है कि आपको Postgres असेंबली के संदर्भों की आवश्यकता होगी।

लेकिन आप भविष्य में एक अलग प्रदाता के पास जाने का इरादा रखते हैं, इसलिए उस कदम के प्रभाव को कम करने के लिए, अपने कोड में सामान्य आधार वर्गों का उपयोग करने का प्रयास करें। उदाहरण के लिए:

var connString = "Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase";
using (DbConnection conn = new NpgsqlConnection(connString))
{
    conn.Open()
    using (DbCommand command = conn.CreateCommand())
    {
        // etc
    }
}

इस तरह, जब आप अदला-बदली करते हैं, तो आपको केवल NpgsqlConnection . को बदलना होगा SqlConnection . के साथ अपने समाधान में . अगर आप DbProviderFactory (वहां एक अच्छा उदाहरण है) तो आप कर सकते हैं, लेकिन मूल रूप से आप केवल इस एकल खोज/प्रतिस्थापन को सहेज रहे हैं, संदर्भों को हटा रहे हैं, और कोड का एक नया संस्करण जारी कर रहे हैं।

मेरा सुझाव है पुटिंग कॉन्फ़िग फ़ाइल में कनेक्शन स्ट्रिंग कोड के बजाय (जैसा कि प्रश्न में दिखाया गया है) इसे कई जगहों पर रखने से बचने के लिए, और पुनर्निर्माण के बिना इसे बदलना आसान बनाता है।

और निश्चित रूप से आपको किसी भी कार्यान्वयन-विशिष्ट विवरण को SQL में ही ठीक करना पड़ सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PGConf India 2017 का बेसब्री से इंतजार है

  2. विशेषता `डीज़ल ::एक्सप्रेशन` को `बिगडेसिमल ::बिगडेसिमल` के लिए लागू नहीं किया गया है

  3. PGAdmin हरोकू से अत्यधिक मात्रा में डेटाबेस दिखाता है

  4. Postgres/psycopg2 - स्ट्रिंग्स की सरणी सम्मिलित करना

  5. ग्रीनप्लम में gpload उपयोगिता