2016-05-07 7 views
3

私はC#を初めて使用しています。私はWindowsフォームを使用しています。C#アプリケーション経由でリモートSQLサーバーに接続できないのはなぜですか?

私は2台のコンピュータをイーサネットクロスケーブル(ドメインは使用しない)で一緒に接続し、正常に通信しています。私はアプリケーションを実行すると、

namespace Remote_DB_Connection 
{ 
public partial class Form1 : Form 
{ 



    SqlConnection MyConnection = new SqlConnection(@"Data Source=192.168.10.1\COFFEESHOP-PC,1433;Initial Catalog=mydb1;Trusted_Connection=True"); 


    SqlCommand MyCommand = new SqlCommand(); 
    DataTable DataTable = new DataTable(); 
    SqlDataAdapter Sql_Data_Adapter = new SqlDataAdapter(); 


    public Form1() 
    { 
     InitializeComponent(); 


     MyConnection.Open(); 
     MyCommand.CommandText = "SELECT * FROM Table1"; 
     MyCommand.Connection = MyConnection; 
     Sql_Data_Adapter.SelectCommand = MyCommand; 
     Sql_Data_Adapter.Fill(DataTable); 


     button1.Text = Convert.ToString(DataTable.Rows[0]["Type"]); 
     button2.Text = Convert.ToString(DataTable.Rows[1]["Type"]); 
     button3.Text = Convert.ToString(DataTable.Rows[2]["Type"]); 


      MyCommand.Parameters.Clear(); 
      Sql_Data_Adapter.Dispose(); 

      MyConnection.Close(); 

    } 


} 

}

を今:PC1は、Windows 7を有しており、それはSQLサーバ(192.168.10.1)をホストし、PC2には、次のようにSQLサーバーに接続するC#アプリケーション、C#アプリケーションを有しています「このログインは信頼されていないドメインからのものであり、Windows認証では使用できません」というこのエラーが発生します。私はWindows認証を使用してログインするSQLサーバーで。

herehere私は、SQL Serverにリモートから接続するために、ユーザー名とパスワードをSQLサーバーに作成する必要があると言いました。 私の質問です:私は本当にこのエラーを修正し、SQLに接続するためにSQL Serverでユーザー名とパスワードを作成する必要がありますか?問題を解決する他の方法があるのですか?

私を助けてください、ありがとうございました

+1

ユーザー名/パスワードまたはドメインがない場合、SQL Serverはどのようにしてあなたの人物を知ることができますか? – qxg

+0

@qxgそうすれば、Windows認証からSQL Server認証へのログインをSQLサーバで変更し、ユーザ名とパスワードを作成する必要がありますか? – Kate

+0

私はそれをテストするワークグループマシンがありません。両方のマシンで同一のユーザー/パスワードを作成してください。とにかく、SQLのログインはドメインなしで簡単です。 – qxg

答えて

3

私の質問です:私は本当にこのエラーを修正し、SQLに接続する 、SQL Serverのユーザー名とパスワードを作成する必要がありますか?

はい、マシンがWindowsドメインに属しておらず、Windowsの信頼できる認証(Trusted_Connection=True)が使用できないためです。コンピュータがWindowsドメインに属していない場合、SQL Serverは接続文字列にユーザー名とパスワードを指定しない限り、クライアントが誰であるかを知る方法がありません。

+0

okありがとうございます.SqlサーバーでWindows認証からSQL Server認証へのログインを変更する必要がありますか? "Trusted_Connection = True"の代わりに何を使用すればよいですか? – Kate

+0

はい、あなたは 'Trusted_Connection = True'ではなく' Trusted_Connection = False; username = some_user; password = some_secret'を使用してSQLサーバ認証に切り替えるべきです。もちろん、SQLサーバ上に対応する 'login'を作成し、それを適切な権限と関連付けることが必要です。 SQLの管理とメンテナンスに基づいた質問のためには、よりプログラミング指向のサイトであるため、http://serverfault.comで尋ねる方がよいでしょう。 –

+0

ユーザー名とパスワードを使用します。 http://www.connectionstrings.com/をご覧ください。 –

関連する問題