sql >> データベース >  >> RDS >> PostgreSQL

C#SqlConnection例外:キーワードはサポートされていません'ポート'

    SqlConnection SQLServerに固有です。 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> (そこに良い例があります)それならできますが、基本的には、この1回の検索/置換を保存し、参照を削除して、新しいバージョンのコードをリリースするだけです。

    パッティングをお勧めします構成ファイル内の接続文字列 (質問に示されているように)コードではなく、複数の場所に配置されることを避け、再構築せずに簡単に変更できるようにします。

    そしてもちろん、SQL自体の実装固有の詳細を修正する必要があるかもしれません。



    1. SQL Serverエラー109:INSERTステートメントには、VALUES句で指定された値よりも多くの列があります

    2. ドラッグアンドドロップした後、SQLiteにRecyclerViewアイテムの新しい位置を保存します

    3. mysqlクエリはphpmyadminで実行すると機能しますが、phpで実行するとエラーを返します

    4. mysqldサービスはec2サーバーで1日1回停止します