2011-11-07 6 views
0

タイトルには正確に何が記載されていますか。ここでC#ユーザーのログインに失敗しましたユーザーが信頼できるSQL Server接続(LAN)に関連付けられていません

は私の接続文字列です:

\SQLEXPRESS;Database=GGDBase;Integrated Security=SSPI;Trusted_Connection=true;Persist Security Info=False; 

プログラムはフィルインするサーバ名、「\」の前に想定しています。 SQL Serverがインストールされているコンピュータで実行すると、そのコードが正常に動作します。

ネットワーク経由で鉱山に接続されたコンピュータで実行すると、タイトルの問題が発生します。私は自分のSQL ServerをMixed(SQLとWindows認証)に設定しましたが、それでも問題は発生します。私はまた、TCP/IPとServer Config Managerの他のすべてのものを有効にしました。

答えの1つは「ユーザーを作る」ことであり、何らかのユーザー名とパスワードを提供することですが、SQL Serverの管理では、私のプログラムをインストールして実行するには、非常にユーザーに不便なSQLサーバーを混乱させる必要があります。私の教授が許さないもの。

私は謙虚にお尋ねしますが、C#でコードを使用してこの問題を解決できる方法はありますか?

基本的に、どのような私の教授がしたいと思うことはある:

  • すべてのマシン上のプログラムをコピー&ペースト/インストールしてください。
  • サーバーにSQL Server Expressをインストールします。行うべき最小限のもの。
  • プログラムを実行すると動作します。

ありがとうございました。

答えて

1

私が正しく理解していれば、たくさんのdiffコンピュータで実行されるアプリケーションを、すべてが1台のサーバー上の1つのSQL Serverデータベースに接続するアプリケーションにしたいと思っています。 すべてのコンピュータが同じドメインまたはワークグループに属している場合は、Windows統合セキュリティを使用できます。そうしないと、SQL Server認証を使用するしかありません。 サーバー上に適切な権限を持つSQL Serverアカウントを1つだけ設定し、C#でこのような接続文字列を作成できます。

 SqlConnectionStringBuilder connString = new SqlConnectionStringBuilder(); 
     connString.DataSource = ServerHere; 
     connString.InitialCatalog = DBHere; 
     connString.IntegratedSecurity = false; 
     connString.UserID = SQLUser; 
     connString.Password = SQLPassword; 

     return connString.ConnectionString; 

あなたのアプリはそこから取得できます。

0

5月の仕事。

Data Source=xxx.xxx.xxx.xxx,1433 

あなたのPCとポートのIP。