2016-04-09 31 views
1

SQL Serverをインストールせずに別のコンピュータからSQLデータベースに接続できるかどうかは疑問でした。私は取得して、このプログラムがインターネットを使用してインストールされているすべてのコンピュータで、自分のPCに配置されているSQLデータベースにデータを挿入するc#wpfプログラムを作成しています。私は混乱しているので、私は接続文字列で私のインターネットのIPを、または何を使用する必要がありますか?インターネット経由のC#SQL接続

私の接続文字列

String connString = @"Network Library=dbmssocn; 
       Network Address=127.0.0.1,1433; 
       Integrated security=SSPI; 
       Initial Catalog=db"; 

はまた、私はプログラミングの領域に新たなんだ、と私ははい、それは可能であるLAN接続

+0

まだ試しましたか? – Stefan

+0

はい、今私は私の接続を投稿します。また、私はLAN接続だけではなく、LAN接続に接続しないことに言及することを忘れないでください – user5827232

+0

これはSystem.Data.SqlClientで行うことができます –

答えて

3

を介してSQLデータベースに接続したいと言うことを忘れていました。この目標を達成するには、ADO.NETまたはEntity Frameworkを使用できます。しかし、データベースをホストしているサーバー上にWeb APIを設定することをお勧めします。このAPIを使用してデータを取得/ポストすることができます。個人的には、エンドユーザーのワークステーションに展開する予定のプログラムの接続文字列をハードコードしません。単にWeb APIを呼び出して、Web APIをデータベースに伝えさせてください。

+0

これは実際に質問に答えるものではありませんが、これは、インターネット経由で提案されているSQL接続よりもOPの目標を達成するためのより良い方法だと思います。 – Stefan

+0

私はこれに同意しなければなりません。私が働き始めた私の上司はSQLプロです。アプリケーション開発については何も知らない。しかし、偉大な男。私はAPIの背後にあるSQLサーバー(彼がインターネットに公開する場合)を置く理由を彼に示しなければならなかった。ハッカーの攻撃面を制限するだけでなく、証明書と暗号化を使ってIDを追加することは、これを行う多くの理由の1つです。 – Parrish

3

リモートデータベースがリモート接続を受け入れると仮定すると、従来のADO.NET接続を使用してこれを実行できます。または、Entity FrameworkのようなORMを使用して接続を処理できます。

それはそれが名前だまさにんSqlConnectionクラスを利用しています以下は、例を見ることができますが、意味:

using(var sqlConnection = new SqlConnection("Your Connection String")) 
{ 
     var query = "Your Query"; 
     using(var sqlCommand = new SqlCommand(query,sqlConnection)) 
     { 
      sqlConnection.Open(); 
      // Execute your query here using sqlCommand.ExecuteNonQuery() 
      // or some other execution method 
     } 
} 

あなただけensure that your actual connection string to target your remote database is correctする必要があります。

+0

'(あなたの他のコンピュータ上の)あなたのリモートデータベースがリモート接続を受け入れると仮定します。それはポートフォワーディングが必要であることに言及する価値があります。それ以外にも。インターネット経由のSQL接続は、実際には良い考えではありません。 – Stefan

+1

私はこれが直接的なアプローチであるべきであることを暗示したいとは思わなかった。私は、アプリケーションがどのようにSQLデータベースに接続できるかを示したいと思っていました。 Jacobが推奨するようにWeb APIを使用することは、明らかに直接公開するより安全なアプローチです。 –

+0

私は任意のサーバーでデータベースをホストするのではなく、自分のPCに保存するが、私は他のPCのアプリケーションで作業するとき、データは自分のPC/SQLデータベースthrougthインターネットに格納する必要があります – user5827232

関連する問題