九州ドットネット倶楽部別館

facebook 九州ドットネット倶楽部の別館となります。https://www.facebook.com/groups/301814289891768/ ...現在ほぼ管理人の開発備忘録化しています。

WCF Data Servicesを使いこなそう(4)

今回はWCF Data ServiceをExpressWebに設置するの第2弾。

おそらく次回やったら、同じところではまりそうなのでエントリ。

 

ExpressWebにSQLSERVERベースのアプリを設置するの巻

 

1.ExpressWeb側の設定

ExpressWebでは、mdfをアタッチして利用することは出来ないようなので、予めEW側でDBとユーザーを作っておく必要があります。

移行方法はこちらを参照。

http://secure.windowshosting.jp/knowledgebase.php?action=displayarticle&id=100

ちなみに、ExpressWebではmdfは300Mまでみたいです。

http://secure.windowshosting.jp/knowledgebase.php?action=displayarticle&id=20

本格的に使うのであれば、AzureやAWSを検討しないといけないようです。

  たしかsdf(SQLSERVERCompact)は4Gまでいけるんじゃなかったっけ?

性能はどうなのか分かりませんが、ExpressWebでの運用であればsdfがよいのかな?

 

2.VisualStudio2010の設定など

(1)「SQLのパッケージ化/発行」

プロジェクトのプロパティーを選択すると出てくる「SQLのパッケージ化/発行」を設定する必要があります。

Web.configからインポートボタンを押すと、接続情報が自動的に取り込まれます。

複数出てくる場合は、ターゲットDBへの接続情報以外は削除しておきます。

f:id:kizakurakun:20120926111122j:plain

「対象データーベースの接続文字列」にはExpressWeb側DBへの接続文字列を記入します。

http://secure.windowshosting.jp/knowledgebase.php?action=displayarticle&id=107

ここに記入した接続文字列は、配置する場合だけに利用されます。

アプリケーションで利用する接続文字列はやはりweb.configに設定する必要があります。

「ソースデータベースの情報」

既存の...にチェックを入れてください。先にインポートしているのでソースデーターベース接続文字列は既に設定されているはずです。

スクリプトオプションは、状況に応じて選択してください。

 

(2)web.config

ソリューションエクスプローラーで,全てのファイルを表示。

するとweb.configの下に、web.debug.configとweb.release.configが出てきます。

web.release.configを開くと

    以下の例では、"Match" ロケーターで "MyDB" という値の "name" 属性が見つかった

    場合にのみ、"SetAttributes" 変換により "connectionString" の値が変更され、

    "ReleaseSQLServer" が使用されるようになります。

 とコメントがあります。

この通り接続文字列を記入しておくと、releaseで配置した時に置き換えてくれるので便利!

 

3.2回目以降の配置。

DBが既に作成されているので、このままではエラーになってしまいます。

「Webのパッケージ化/発行」で「SQLのパッケージ化/発行」タブで構成した...のチェックを外すとDBを作成しなくなります。

 

 以上メモ!