0

wpf アプリケーションをデプロイしていますが、データベースに接続する最良の方法を知りたいです。

たとえば、アプリケーションをインストールした後、SQL Server Express に接続するための接続文字列を設定する必要があります。

マシンにインストールされている SQL Server を見つけることができるというスレッドを読んだので、見つけた後、プログラムで接続するにはどうすればよいですか?

私が考えたもう1つのことは、asp.netでweb.configとして接続文字列を読み取って書き込むことができるファイルがあるということですか?

ファイルがあることは知っていapp.configますが、展開した後、アクセスできなくなったと思います!

4

2 に答える 2

1

小規模なアプリケーションの場合、SQL Server、特に Express を同じマシンに配置しても問題はありません。「localdb」機能もあります。とにかく、このコードは、ネットワーク上の SQL Server のすべてのインスタンスを検出します。その後、ウィンドウを作成して結果を表示し、ユーザーにサーバーを選択させ、結果から接続文字列を作成できます。サーバー上のファイアウォールなどがこのプロセスの邪魔になる可能性があることに注意してください。通常、サーバー名は返されますが、他の情報は返されません。これは、ファイアウォールに例外を追加することで修正できます。

 private  DataTable FindServers()
    {

        System.Data.Sql.SqlDataSourceEnumerator instance = System.Data.Sql.SqlDataSourceEnumerator.Instance;
        DataTable dt = instance.GetDataSources();
        return dt;

    }
于 2016-12-17T16:47:24.163 に答える
0

最近では、データベース レイヤーをアプリケーションからDataServiceまたはで分離する必要がありますMicroService。これはデータアクセス層になります。

そのレベルの分離が必要なく、データベースに直接接続するアプリケーションについてまだ考えている場合は、データベースが WPF アプリケーションと同じサーバーにないシナリオをカバーしたいので、構成を使用して接続文字列を保存することをお勧めします。

非 Web アプリケーションの構成ファイルが呼び出され、Web アプリケーションapp.configの場合とまったく同じweb.configです。

インストールされている SQL Server インスタンスの自動検索の問題は単純です。アプリを起動するマシンに 2 つのインスタンスがインストールされている場合はどうなるでしょうか。アプリはどのように使用するかを判断しますか?

于 2016-12-17T14:39:28.033 に答える