sql >> Databáze >  >> RDS >> PostgreSQL

Výjimka C# SqlConnection:Klíčové slovo není podporováno 'Port'

SqlConnection je specifický pro SQL Server. Budete muset použít NpgsqlConnection použít připojení Postgres, což znamená, že budete potřebovat odkazy na sestavení Postgres.

Ale máte v úmyslu v budoucnu přejít k jinému poskytovateli, takže abyste minimalizovali dopad tohoto přesunu, zkuste ve svém kódu použít obecné základní třídy. Například:

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

Tímto způsobem, když přehodíte, vše, co musíte udělat, je nahradit NpgsqlConnection napříč vaším řešením pomocí SqlConnection . Pokud chcete použít DbProviderFactory (je tam dobrý příklad), pak můžete, ale v zásadě si ušetříte pouze toto jediné hledání/nahrazení, odstraníte odkazy a uvolníte novou verzi kódu.

Navrhoval bych umístění připojovací řetězec v konfiguračním souboru místo kódu (jak je ukázáno v otázce), abyste se vyhnuli jeho umístění na více místech a usnadnili jej změny bez přestavby.

A samozřejmě možná budete muset opravit jakékoli detaily specifické pro implementaci v samotném SQL.



  1. jarní data kódování jpa utf-8 nefunguje

  2. Codeigniter, mysql, select_max a přidejte 1 před vložením dalšího záznamu

  3. Jak nasadit Teamcity s PostgreSQL pro vysokou dostupnost

  4. Načíst funkce pole zdvojnásobení hodnot na každé pozici pole?