トップ回答者
VS2008(Pro)/sql server 2005で作成したWindowsアプリケーションの実行ファイルをWindowsインストーラでインストールしたとき、

質問
-
SQL Server フォーラムで尋ねる質問かもしれませんが、また実際に試してみると確認できる質問も含まれますが、私は1台のPCしか持ち合わせておりませんので、ここで質問させていただいております。
VS2008(Pro)/sql server 2005で作成したWindowsアプリケーションの実行ファイルをWindowsインストーラでインストールしたとき、
アプリケーション以外にも、次の4つが必要とされているようです。(私が読んでいる本の説明では)
ア .NET FrameWork 3.5
イ Microsoft Data Access Components(MDAC)
ウ SQL Server 2005
エ データベース
以前にVS2005/ACCESSで作成した場合は、バージョンは違いましたが<ア>だけで良かったように思います。
ACCESS/mdbで作成していたときは、「同時実行違反」にずいぶんと悩ませられまして、このフォーラムの皆様にいろいろ教えていただきながら完成したのですが、その際にSQL Serverにすると「同時実行違反」になることが少なくなると教えていただき、今回の作成時からはSQL Serverを使おうと考えています。
しかし、これから作成しようとするアプリは、「町内会用の会計業務ソフト」で、この使用者は必ずしもPC操作に堪能な方とはいえないのです。
そのような使用者に、
1 MDACをインターネットでみつけてインストールし
2 さらに、SQL Server 2005もインターネットで見つけてインストールし、アプリ使用前にSQL Server 2005の設定をしなければならない
といえば、使用に2の足を踏む方が大半ではないかと思うのです。
それで、従来通りACCESS/mdbを使用して作成したほうがいいのではないかと思い悩んでいます。
ここで質問ですが、
Q1 SQL Server を使用した時はこんなに面倒なのでしょうか。
Q2 SQL Server をしてもアプリ使用者がもっと簡単に運用できる方法はないのでしょうか。
Q3 ACCESSを使用した時、2008では.NET Frameworkがインストールされていない場合には自動的にインストールされるようですが、他にインストールする必要があるものはないのでしょうか。
zen73
回答
-
mdbを配布するだけならライセンスは要らないはずです。mdbは単なるデータファイルですので、pdfやpptを配布するのと同じだと思います。が、正式にはマイクロソフトに確認された方が良いでしょう。
ところでSQL Server Compact Edition 3.5ですが、可能であれば使った方が良い思います。位置づけ的にはjet(mdb)に代わるものです。確かにSQL Server Compact Edition 3.5は通常のSQL Serverと似て非なるものですが、ほとんど同じ感覚で使えると思います。SQL Server Compact Edition 3.5は機能もアップされてきていますし、デスクトップアプリケーションには最適だと思います。しかし、VS2008にしか対応していません。VS2008 Express Editionには以前は対応していませんでしたが、対応できるようになったようです。ただし、どの程度対応しているのかはわかりません。
(参考)--------------------------------------------------------------------------------
SQL Server Compact 3.5 と Visual Studio
http://msdn.microsoft.com/ja-jp/library/aa983341.aspxVisual Basic 2008 Express Edition と Visual C# 2008 Express Edition を使用して、SQL Server Compact 3.5 ベースのアプリケーションを、デスクトップと Tablet PC 向けに開発できるようになりました。
----------------------------------------------------------------------------------------
SQL Server Management Studio Express で管理できるようになったようです。
(参考)--------------------------------------------------------------------------------
SQL Server Compact
http://msdn.microsoft.com/ja-jp/library/cc645984.aspx
SQL Server 2008 の SQL Server Management Studio Express (SSMSE) で管理できるようになりました。
----------------------------------------------------------------------------------------
開発の例です。
極小SQL Server Compactでデータベース・アプリをお手軽作成
http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_01.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク zen73 2009年8月7日 7:39
-
なるほど、誤解していました。
mdbファイルにアクセスするOLE DBプロバイダがMDACに含まれているため、Access本体は不要で逆にMDACが必要になるんですね。
ちょっと調べたところ、Windows XP SP3には最初からMDAC 2.8 SP1相当がインストールされているような気がします。
これでインストールの敷居が1つ低くなりますね。
私もSQL Server Compactをおすすめしておきます。バージョンは3.5 SP1が出ているので、そちらの方がいいかも。
開発環境としてはManagement Studio Expressを入れておくと便利ですが、実行環境では必要ないかもしれません。- 回答としてマーク zen73 2009年8月7日 7:39
-
Q1 SQL Server を使用した時はこんなに面倒なのでしょうか。
SQL Serverはそうなってしまうのは仕方がないです。
Q2 SQL Server をしてもアプリ使用者がもっと簡単に運用できる方法はないのでしょうか。
Q3 ACCESSを使用した時、2008では.NET Frameworkがインストールされていない場合には自動的にインストールされるようですが、他にインストールする必要があるものはないのでしょうか。
今回のような場合、SQL Server Compact がちょうどいいかもしれません。SQL Serverのようにサービスとして起動しておく必要もありません。最も簡単な方法 をとった場合、アプリケーションと同じディレクトリにファイルをコピーするだけにできます。- 回答としてマーク zen73 2009年8月2日 21:36
すべての返信
-
Q1 SQL Server を使用した時はこんなに面倒なのでしょうか。
SQL Serverはそうなってしまうのは仕方がないです。
Q2 SQL Server をしてもアプリ使用者がもっと簡単に運用できる方法はないのでしょうか。
Q3 ACCESSを使用した時、2008では.NET Frameworkがインストールされていない場合には自動的にインストールされるようですが、他にインストールする必要があるものはないのでしょうか。
今回のような場合、SQL Server Compact がちょうどいいかもしれません。SQL Serverのようにサービスとして起動しておく必要もありません。最も簡単な方法 をとった場合、アプリケーションと同じディレクトリにファイルをコピーするだけにできます。- 回答としてマーク zen73 2009年8月2日 21:36
-
mdbを配布するだけならライセンスは要らないはずです。mdbは単なるデータファイルですので、pdfやpptを配布するのと同じだと思います。が、正式にはマイクロソフトに確認された方が良いでしょう。
ところでSQL Server Compact Edition 3.5ですが、可能であれば使った方が良い思います。位置づけ的にはjet(mdb)に代わるものです。確かにSQL Server Compact Edition 3.5は通常のSQL Serverと似て非なるものですが、ほとんど同じ感覚で使えると思います。SQL Server Compact Edition 3.5は機能もアップされてきていますし、デスクトップアプリケーションには最適だと思います。しかし、VS2008にしか対応していません。VS2008 Express Editionには以前は対応していませんでしたが、対応できるようになったようです。ただし、どの程度対応しているのかはわかりません。
(参考)--------------------------------------------------------------------------------
SQL Server Compact 3.5 と Visual Studio
http://msdn.microsoft.com/ja-jp/library/aa983341.aspxVisual Basic 2008 Express Edition と Visual C# 2008 Express Edition を使用して、SQL Server Compact 3.5 ベースのアプリケーションを、デスクトップと Tablet PC 向けに開発できるようになりました。
----------------------------------------------------------------------------------------
SQL Server Management Studio Express で管理できるようになったようです。
(参考)--------------------------------------------------------------------------------
SQL Server Compact
http://msdn.microsoft.com/ja-jp/library/cc645984.aspx
SQL Server 2008 の SQL Server Management Studio Express (SSMSE) で管理できるようになりました。
----------------------------------------------------------------------------------------
開発の例です。
極小SQL Server Compactでデータベース・アプリをお手軽作成
http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_01.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク zen73 2009年8月7日 7:39
-
なるほど、誤解していました。
mdbファイルにアクセスするOLE DBプロバイダがMDACに含まれているため、Access本体は不要で逆にMDACが必要になるんですね。
ちょっと調べたところ、Windows XP SP3には最初からMDAC 2.8 SP1相当がインストールされているような気がします。
これでインストールの敷居が1つ低くなりますね。
私もSQL Server Compactをおすすめしておきます。バージョンは3.5 SP1が出ているので、そちらの方がいいかも。
開発環境としてはManagement Studio Expressを入れておくと便利ですが、実行環境では必要ないかもしれません。- 回答としてマーク zen73 2009年8月7日 7:39