sql >> Database teknologi >  >> RDS >> PostgreSQL

C# SqlConnection Undtagelse:Søgeord ikke understøttet 'Port'

SqlConnection er specifik for SQL Server. Du skal bruge NpgsqlConnection at bruge en Postgres-forbindelse, hvilket betyder, at du skal bruge referencerne til Postgres-samlingerne.

Men du har til hensigt at flytte til en anden udbyder i fremtiden, så for at minimere virkningen af ​​denne flytning, prøv at bruge de generiske basisklasser i din kode. For eksempel:

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

På denne måde, når du bytter om, er alt hvad du skal gøre at erstatte NpgsqlConnection på tværs af din løsning med SqlConnection . Hvis du vil bruge DbProviderFactory (der er et godt eksempel derinde) så kan du, men grundlæggende sparer du kun dig selv denne enkelte søgning/erstat, fjerner referencerne og frigiver en ny version af koden.

Jeg vil foreslå at sætte forbindelsesstrengen i konfigurationsfilen i stedet for kode (som vist i spørgsmålet) for at undgå at have det flere steder, og gøre det nemmere at ændre uden en ombygning.

Og selvfølgelig skal du muligvis rette eventuelle implementeringsspecifikke detaljer i selve SQL'en.



  1. MYSQL Update Trigger få opdateret række-id

  2. Har et problem med at få mysqli_query til at udføre

  3. android listevisning opdatere/opdater data uden at lukke appen

  4. Fortsæt med at forbinde to tabeller, som ikke er tilknyttet