2009-07-24 18 views
1

私は先進的なソフトウェアアプリケーションを開発していますが、明らかに私たちのSQLサーバーと必要なすべての接続文字列にアクセスできます。私は新しい(非常に小さい)ビジネスのためにこれをしたいと思っていました...もし私が小さなデータベースサーバーを購入し、このサーバー上のデータベースと会話するソフトウェアをセットアップしたいのであれば、どうすればよいですか?サーバーにコード(C#)で接続し、b)これを可能にするためにインターネット/電話接続などについて何が必要なのでしょうか?最初からデータベースに接続する

編集:異なる場所にある2つまたは3つの異なるコンピュータからアクセスする必要があるため、サーバーが必要な理由は何ですか?

答えて

2

は、実際にデータベース接続を作成するには、かなりの数の方法がありますが、私は最も簡単な方法の一つがSystem.Data.SQLClientで見つかったメソッドやクラスを利用することであると言うでしょう。

using System.Data.SQLClient; 

namespace YourNamespace 
{ 
    public class DatabaseConnect 
    { 
     public DataType getData() 
     { 
      DataType dataObj = new DataType(); 

      SqlConnection testConn = new SqlConnection("connection string here"); 
      SqlCommand testCommand = new SqlCommand("select * from dataTable", testConn); 
      testConn.Open() 
      using (SqlDataReader reader = testCommand.ExecuteReader()) 
      { 
       while (reader.Read()) 
       { 
        //Get data from reader and set into DataType object 
       } 
      } 

      return dataObj; 
     } 
    } 
} 

これは、データ読み出しのための接続の非常に、非常に単純なバージョンですが、それはあなたが何をする必要があるかのアイデアを与える必要があり、心に留めておいてください:基本的な接続には、以下のようになります。 「使用」または「試行/キャッチ」ステートメントを使用して、接続が閉じられ、各使用後にリソースが解放されることを確認します(データの取得に成功したかどうかに関係なく)。

あなたが必要とする可能性のある機器についての他の質問は、最初は、ローカルマシン上にデータベースを作成し、そこからテストを実行することをお勧めします。データの往復を確信したら、データベースを別のボックスまたはオンラインサーバーに自由に移動してください。ダイヤルアップを保証することはできませんが、何年にもわたって使用していませんが、どのインターネット接続タイプでも十分です。

最後に、オンラインサーバーシステムに移行する場合は、使用するサービスが外部接続を許可していることを確認してください。特定のサービスでは、共有サーバーシステムを使用し、ユーザーが内部データベースインターフェイスを使用してデータベースを管理および書き込みするよう強制します。

--- EDIT ---サーバシステム自体については

、あなたが見ることができるローカルネットワーク上の別のボックスを構築し、お好みのデータベースソフトウェアをロードします。C#を使用しているので、おそらくMicrosoft SQL Server 2005/2008と一緒に行くのが最も簡単です。インストールは簡単です。インストール中に最初のデータベースを自動的に作成するように指示するメッセージが表示されます。

インストール後、テーブル、ストアドプロシージャ、カスタム関数などを追加する必要があります。ベース構造が作成されたら、上記のコードを使用して簡単な接続を作成します。あなたは上記の方法に精通しているので、実際に行う必要があるのは、サーバーマシンとデータベースを接続文字列でターゲットにすることだけです。

+0

上記のコードは私には非常によく知られています。私は自分のローカルサーバーに多くのデータアクセスをしています。私は、オンラインサーバーやこのマシンのローカルではない別のボックスに接続することについての2つ目のポイントにもっと興味があります!私はこれでどこから始めるべきか分かりませんが、上記の種類のデータアクセスは私にとっては第二の性質だと言いました。 – xoxo

+0

ありがとう!私はそこで一度誤解しました。私が知っている多くの人は、ある種のデータベースファサードを使用しているので、最初の接続をコード化することは実際には決してありません。 – Zensar

+0

ローカルネットワーク上に別個のマシンを置くことに関して何を言っているのか...マシンがその国の異なる場所にあり、共有データベースにアクセスしたい場合はどうなるでしょうか? – xoxo

1

アプリケーションが小さい場合(CPUとメモリなどのリソースの使用量が少ない場合)、SQL Serverは同じボックスに常駐できます。

これ以外の場合は、データベース用に別のサーバーボックスを用意し、アプリケーションから接続する必要があります。この場合、データベースボックスとアプリケーションボックスはローカルエリアネットワーク上にあることが望ましいです。

チェックC#コードからSQL Serverへの接続を持つため、このリンク - あなたのアーキテクチャはスケーラブルになるようhttp://www.codeproject.com/KB/database/sql_in_csharp.aspx

歓声

+0

良いインターネットサイトのリンク。その有用な。 – djangofan

1

はおそらく、XML Webサービス層を使用してデータベースを公開する必要があります。一般的な考え方は、ネイティブSQL Server XML Web Servicesを使用してSQL ServerとWebサービスをホストすることです。これをリモートクライアントが使用できるようにすることができます。クライアントでVisual Studioでサービス参照を追加するだけで、クライアントアプリケーションでデータを利用できるようになります。

乾杯

0

connectionstringsのウェブサイトは役に立つと思われます。ブックマークに値する価値があります。

関連する問題