2016-04-26 2 views
1

私はSQL Server 2014に4つのテーブルボリューム1.5 GBを持つローカルデータベースを持っています。ユーザーとのデータベースレコードを検索するプログラムの本質は、基準を定義します。プログラムは書かれており、うまく動作します。プログラムが正常に動作していること、およびサーバーをインストールしていないユーザーがいることを確認する必要があります。これを実装する方法は?データをシリアライズするアイデアでしたが、わかっているように、すべてのデータを逆シリアル化してから適切なレコードを探す必要があります。プロジェクトにデータベースを入れるには? C#

+0

Sql Expressを使ってみましたか? https://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspx データをファイルにシリアル化してから、再度読み込んだことはありますか? –

+0

イアンの提案を超えて、SQLサーバーをLAN上に公開することができます。これは認証/セキュリティ上の懸念があるため、重要な懸念があります。そのため、データベースを保護しながらWeb API経由で公開してください。あなたが公開したい1.5GBの情報を持っているときに何をすべきか分かりません。 –

+0

私はオブジェクトのシリアライゼーションで問題を解決できると思いますが、プログラムを開始するたびにすべてのオブジェクト(1.5 GB)をデシリアライズしてから検索してください。 –

答えて

0

私の前のコメントはすでに私はあなたに2つの選択肢があると言います。

(Sql Expressなどのソリューションを使用して)クライアントでデータベースを出荷してください。それはうまくいくはずであり、集中サーバへの接続なしで動作しますが、クライアントパッケージのサイズはかなり大きくなります。変更を加えるとローカルにしか行われませんが、クライアントからデータベースに読み込みを行うように見えますか?

しかし、正しく「サーバをインストールしていないユーザ」と言われているので、各クライアントのSQLサーバを正しくインストールすることが分かりますか?次に、各クライアントに送信する必要のある大量のデータと、データをリフレッシュする必要があるときにすべてのデータベースを更新するという問題がすでに発生しています。

もう1つの解決策は、クライアントからデータベースへのアクセスを許可することです。すべてのユーザーがドメインユーザーに属している場合は、ドメインユーザーに基づいて認証を処理し、認証部分をスキップすることができます。次に、クライアントを送信し、大きなサーバーとすべてのデータのインストールをスキップするだけです。

ドメインに属していないにもかかわらずネットワーク上に残っている場合は、アプリケーションにログインを追加してデータベースにアクセスできるようにするか、すべてのユーザーを信頼する場合は、読み取り専用アカウントを追加して、そのアカウント。

信頼できる環境外のデータにアクセスするには、アクセスを許可するためにユーザーごとに別々のログインを追加する必要があります。また、リクエストを処理するデータベースの前にapiを使用することもよいでしょう。クライアントに送信し、制御された方法でデータベースへの検索を行います。

個人的には、集中管理されたデータベースを使用して、新しいユーザーを設定するすべての作業を省略し、データを更新する必要があるときに更新する単一のポイントを持ちますが、もちろんユーザーの場所によって異なります。

+0

は は、たぶん私は間違って質問や問題、私は、サーバーなしでこのプログラムを実装する を説明し、あなたの答えをありがとうございました。私は(もちろん、より多くのがある)プログラムが付属していますし、それが検索 –

+0

を作ることができたことを、私はSqliteをやFirebirdのようなスタンドアロン・データベースを示唆しているデータのようなものを実装したいです。これを見て:http://blog.tigrangasparian.com/2012/02/09/getting-started-with-sqlite-in-c-part-one/あなたは何もインストールする必要はありませんし、あなたはまだデータベースを取得するSQLに対してSQLを実行できます。 – MrApnea

関連する問題