2016-04-02 15 views
1

私の目標は、SQL Serverに接続するスタンドアロンのC#Windowsフォームアプリケーションを作成することです。C#exeを使用してSQL Serverに接続

このスタンドアロンファイルを別のクライアントマシンに展開する必要があります。マシンAマシンAとB

、私は開発のためのSQL Server 2008 R2とVS2013をインストールしている -

は、私は2台のマシンを持って考えてみましょう。

私は開発のために使用している

接続文字列:私はそれがマシンA上のSQL Serverに接続されていないマシンB上の同じしようとしたときにマシンA上で正常に動作している

Data Source=AssetName\SQLEXPRESS;Initial Catalog=Test_Database;Integrated Security=True 

インターネットで検索したところ、VSでサービスベースのデータベースを使用することを提案していました。しかし、私はサービスベースのデータベースがどのように働いているのかを理解するのが難しいと感じています。サーバーとサービスベースのデータベースとの間の接続が見えませんでした。

誰もがこれを手伝ってくれますか?

マシンBでSQL Server Management Studioを使用する必要があるのですか?

エラーメッセージ:

System.Data.SqlClient.SqlException(0x80131904):SQL Serverへの接続をextablishingながら、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。

+0

必要なのは、他のマシンからの接続を許可するようにサーバーを構成することだけです。これはドキュメントに説明されています。 Windowsアカウントを使用する場合は、ほとんどの場合、ドメイン内にいなければ問題なく適切に動作する必要があります。 –

答えて

1

マシンAにサーバーを設定して、他のマシンからのアクセスを許可します。 一般に、他のマシンから接続するには、SQL Serverインスタンス名を持つサーバー名としてマシンアドレスadを使用する必要があります。

+0

上に:ファイアウォール。 SQL Serverを設定すると、ファイアウォールルールが追加されないため、ファイアウォールはすべての受信アクセスを停止します。 – TomTom

0

実績のあるMS-SQLクライアントに接続しようとすると、私はMS SQL Management Studioを使用します。
接続ウィンドウにはいくつかのオプションがあります。つまり、ファイアウォールがアクセスをブロックしていることを確認できます。ブロードキャストネームサービスが有効です。
問題はクライアント側ではなくサーバー側である可能性があります(TCP-IPは無効、 ...もっと多くの状況)。

SQL Serverの管理者は誰ですか? 1433ポートはどうですか? TCP-IPは有効になっていますか?ほとんどのバージョンのデフォルトはデフォルトではありません。次のステージ管理に関する

は、デフォルトでリモート接続を許可しないなど

1

SQL Serverのエクスプレスクエリを設計するのに便利すなわちでしょう - あなたは明示的にこの機能を有効ににする必要があります。そうするには

、これらの手順を実行します。SQL Server Management Studioで

  • 、SQL Server Expressインスタンスを表し、トップレベルのノード(上のオブジェクトエクスプローラに右クリック
  • を行きます - 通常Propertiesダイアログで......\SQLEXPRESS
  • をラベル付け、左側
  • チェックオプションのチェックボックスをConnections]タブに移動しAllow remote connectìons

enter image description here

  • は今、あなたは、サーバー/インスタンス名としてMACHINENAME\SQLEXPRESSを使用してリモートマシンからこのSQL Server Expressインスタンスに接続することができますあなたのSQL Server Expressインスタンス

を再起動します。

関連する問題