0

メンバーを読み取り、作成し、更新するためのWindowsフォームアプリケーションがあります。アプリケーションの準備ができており、3台または4台のPCに展開/インストールしたいと考えています。

開発プロセス中に、次のような接続文字列を使用しました。

using (SqlConnection connection = 
    new SqlConnection(
        "Data Source=MY-PC\\JGSQLSERVER;Initial Catalog=TESTSUB;Integrated Security=True"))

組織のWebサイトが実行されているドメインと、SQLサーバーサーバーがあります。SQLWebサーバーで同じテーブル構造を作成しました。

私の質問は、小さなWindowsアプリを任意のPCにインストールするときに、アプリケーションが接続できるように接続アドレスを変更する必要があるかどうかです。

たとえば、上記のように:

using (SqlConnection connection = 
    new SqlConnection("Data Source=web servers address\\ webSQLSERVER;Initial Catalog=TESTSUB;Integrated Security=True"))
4

3 に答える 3

1

まさにこのために、接続文字列を何らかの構成ファイル (app.config または他の種類の構成で暗号化) に入れることをお勧めします。これを行うと、アプリを別の環境にデプロイするとき、または SQL サーバーのアドレスが変更されたときに、アプリを再構築する必要はありません。

構成:

<configuration>
    <connectionStrings>
      <add name="MyConnectionString" connectionString="your_connection_string" providerName="System.Data.EntityClient" />
    </connectionStrings>
</configuration>

c#:

using (SqlConnection connection = 
    new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"])){
    //do stuff
}
于 2012-12-21T07:57:37.960 に答える
0

簡単な答え: はい。
そうしないと、アプリケーションはそのデータ (ベース) の場所を認識できず、ローカル システムで (見つからない場所) を探します。

于 2012-12-21T07:39:58.867 に答える
0

はい、アプリを正しいサーバーに向ける必要があります。また、SQL Server サービスがクライアント アプリと同じマシンまたは同じドメインで実行されている場合を除き、Windows 認証ではなく SQL 認証を使用する可能性が高くなります。SQL Server でユーザーを作成し、それをデータベースに追加する必要があります。また、アプリに必要な権限を付与する必要があります。ユーザーは通常 DBO だと思います。次に、別の接続文字列を使用します。

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

さまざまなデータベースのさまざまな接続文字列の例については、 http://www.connectionstrings.com/を参照してください。お役に立てば幸いです。

于 2012-12-21T07:42:25.070 に答える