2016-01-29 5 views
11

SQL Serverデータベースを使用してC#プログラムを作成しました。それは私のコンピュータではうまく動作しますが、私の友人のPC上では動作しません(私の友人はSQL Sever 2008を持っていません)。何もインストールせずにそれを作ることは可能ですか?それができれば、どうすればできますか?ローカルのSQL Serverデータベースを含むC#アプリケーションを別のコンピュータにインストールするにはどうすればよいですか?

これは私の接続文字列です:

connectionString="Data Source=\v11.0;AttachDbFilename=|DataDirectory|\MainDatabase.mdf;Integrated Security=True" 
+3

[クライアントPCでのLocalDBの展開]の可能な複製(http://stackoverflow.com/questions/9655362/localdb-deployment-on-client-pc) –

+0

あなたの友人にあなたのデータベースへのアクセスを許可したい、またはデータベースは一意ですか?後者の場合、SQLを必要とするローカルホスティングにはSQL Serverが必要であることに注意してください。代わりにSQLite(ユーザ入力情報用)やResource Files(内部項目用)などの代替案を使用してください。 前者の場合は、自分でサーバーをホストする必要があります。 – aeee98

答えて

11

SQL Serverはサーバーデータベース用です。単一ファイルのローカルデータベースであるSQL Server CE(SQL Server Compact Edition)を使用するようにプロジェクトを変更することができます。これは「真の」SQL Serverと非常によく似ていますので、最も簡単な解決策です。あなたのコードはおそらく接続文字列以外は変更されません。

+0

Petar Bechevには、ツールメニューからインストールできるVisual Studio(SQL Server Compact Toolbox)の拡張機能があります。そこにDBを作成し、プロジェクトに追加します。テーブルを再作成し、この新しいDBを使用するようにアプリケーションの接続文字列を変更します。 – Tsayper

+0

SQL CEは非推奨/中止されていませんか? – edmz

+0

@blackはい、それでも仕事をしています。新しいプロジェクトでは、ローカルDBとしてSQLiteを使う方が良いと思います。 – Tsayper

1

は、私の知る限りでは、あなたは2つのいずれかのオプションを持っています。あなたはサーバー(サーバーがこのデータベースを含むサーバーに設定されている)か、より簡単なオプションを使用してクラウド上でデータベースをホストすることができます。多くのWebサイトでは、限られた時間内にデータベースをホストする無料のサービスが提供されています。確かに行くAzureサブスクリプションがあれば。

+0

実際には私はこのプログラムをいつでも販売したいので、私はそれをしたくありません。すべてのユーザーが自分のコンピュータ上に自分のデータベースを持つつもりです。あなたは私にローカルデータベースの何かを教えてください。 –

+0

Azureは商業サービスではありません。 –

+0

あなたが学生なら、あなたはAzureの無料購読を受けることができます。あなたがDreamsparkを持っていれば。 –

5

データベースが存在するローカルマシンのIPアドレスを使用します。 1433がデフォルトのポート番号です。それに応じて接続文字列を変更します。

connectionString="Data Source=190.190.200.100,1433; 
Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;" 
+0

データソースをホストPCのIPアドレスに変更してください。 – aeee98

1

SQLサーバーをインストールせずにプログラムを実行する場合は、サービスベースのSQLデータベースを使用する必要があります。あなたは、あなたがファイアウォールをオフにすることができ、ファイアウォールで開いているポート1433を必要としない場合

+1

ローカルデータベースが必要ですか? – Tsayper

+0

リリース用のプロジェクトをビルドすると、ビジュアルスタジオにデータベースが含まれます。 –

4

初めて - (>新しい項目の追加プロジェクト)see this image

あなたは、Visual Studioを介してローカルデータベースを追加することができます。 実行=> cmd => Ipconfigネットワークのカードアクティビティを検索します。表示のようにenter image description here

私のコンピュータの無線LANと私のandressプライベートLANは:192.168.100.165 これでweb.configのconnectstringを変更しました。

connectionString="Data Source=192.168.100.165; 
Initial Catalog=yourDataBase;User ID=yourUsername;Password=yourPassword;" 

あなたは「あなたのユーザ名」とを知っていない場合は、インターネットからデータベースに接続したい場合は、「あなたのパスワード」のリンク を参照し、MsSQLが https://msdn.microsoft.com/en-us/library/aa337562.aspx

にユーザー名とパスワードを作成してください。あなたのルーターを開放する必要があります

2

私の解決策は、あなた自身のホストではなく、あなたの友人のコンピュータにSQLデータベースが必要な場合です。

適切なデータベースを使用して任意のデバイスでデータベースをローカルで処理する最も安価な方法は、SQLiteに変換することです。これは、より軽量で、ユーザがSQLサーバをまったくインストールする必要のないローカルデバイスの代替手段です。

情報を隠しファイルに書き込むなどの方法もあります(通常、アプリケーションをハッキングしたくない場合はバイナリ形式にします)。

要するに、データベースをホストしている場合のみSQLデータベースを検討し、そうでない場合は代替案を使用してください。接続文字列が

connectionString="Data Source=\v11.0;AttachDbFilename=|DataDirectory|\MainDatabase.mdf;Integrated Security=True" 

以下のようなものである場合

1

あなたはあなたの友人のPC上でsql localdb 2012.msiをインストールする必要があります。 そして、.mdfファイルがお使いのコンピュータと同じ場所にあることを確認してください。

+0

親愛なるライドリです。 –

関連する問題