PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wyjątek C# SqlConnection:nieobsługiwane słowo kluczowe „Port”

SqlConnection jest specyficzny dla SQL Server. Będziesz musiał użyć NpgsqlConnection aby użyć połączenia Postgres, co oznacza, że ​​będziesz potrzebować odniesień do zestawów Postgres.

Ale zamierzasz w przyszłości przenieść się do innego dostawcy, więc aby zminimalizować wpływ tego przeniesienia, spróbuj użyć ogólnych klas bazowych w swoim kodzie. Na przykład:

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

W ten sposób, po zamianie, wszystko, co musisz zrobić, to zastąpić NpgsqlConnection w całym rozwiązaniu dzięki SqlConnection . Jeśli chcesz użyć DbProviderFactory (jest tam dobry przykład) wtedy możesz, ale w zasadzie oszczędzasz sobie tylko to pojedyncze wyszukiwanie/zastępowanie, usuwanie odwołań i wydawanie nowej wersji kodu.

Proponuję umieszczenie ciąg połączenia w pliku konfiguracyjnym zamiast kodu (jak pokazano w pytaniu), aby uniknąć posiadania go w wielu miejscach i ułatwić wprowadzanie zmian bez przebudowy.

I oczywiście może być konieczne poprawienie wszelkich szczegółów dotyczących implementacji w samym 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. Jak dynamicznie utworzyć funkcję wyzwalacza w pgsql?

  2. Jak uzyskać całkowitą liczbę tabel w postgresql?

  3. Co ::robi w PostgreSQL?

  4. Dlaczego PostgreSQL wykonuje sekwencyjne skanowanie indeksowanej kolumny?

  5. klonowanie danych hierarchicznych