質問者
インストーラについて

質問
-
VB2003 でSQL Server2000を使用したプログラムを勉強中です。
システム完成後、ビルド(Release)→インストーラ(セットアップウィザード)を実行し、他のパソコンにインストールを行い、実行すると、作成したメニューは表示されるのですが、データベースへのアクセス画面を指示すると、
「アプリケーションのコンポーネントでハンドルされていない例外が・・・・
SQL Serverが存在しないか、アクセスが拒否されました」
のメッセージが表示されます。
開発用のパソコンでは、インストールしたアプリは正常に動きます。
何が悪いのかまったく分かりません、どなたかご指導をお願いします。
尚、インストールしたパソコン(他のパソコン)にはNETFramework等必要システムはインストールしてあります。
すべての返信
-
田舎の爺 さんからの引用
「アプリケーションのコンポーネントでハンドルされていない例外が・・・・SQL Serverが存在しないか、アクセスが拒否されました」
のメッセージが表示されます。
「マイクロソフト サポート オンライン」
- 「エラー メッセージ "SQL Server が存在しないか、アクセスが拒否されました" の原因」 -
Ishisaka様
返答が遅れて申し訳ございません。
VB2003 SQLServer2000である書籍を参考にしてデータベースを勉強しております。返答になっているか分かりませんがよろしくご指導お願いします。
「インストール先にはインストール元と同じデータベースがSQL Server上にインストールしてあるか?」ですが、返答になるか分かりませんが、(ある書籍を参考)
「ソリューションのビルド」→「インストーラ作成(セットアップウィザードの実行)」→
他のパソコンにインストール。
書籍の説明では、上記の方法でシステム、実行ファイル等のインストールできると書いて(?)あるのですが?
その他必要のあるソフト NET.Framsework Microsoft Data Access Componentsが必要と記載してあり、インストールしました。
Connection Stringについて
データ接続を使用しています。最初の画面作成時に、データ接続、データアダプタ、データセットを設定しました(接続のテストもOKでした)
尚、サーバーに接続するためのログオン情報は「Windows NTの総合セキュリティを使用する」を選択しております。
返答になっておりますでしょうか?どこをどうすれば動くのか・・・まったく分かりません。ご指導よろしくお願いします。
-
結局インストール先に作成されたデータベースもしくはSQL Serverそのものがインストール先に存在しないためにこのエラーが発生しています。
書かれている内容で、インストーラを作成した場合、インストーラ自信にはSQL Serverやアプリケーションが使うデータベース自体が含まれていません。SQL Server自体はアプリケーションのインストールとは別に行う必要があるのと、当然複数のPCにインストールすればそれだけライセンスが必要になります。また、アプリケーションが使用するDB自体も何らかの方法で各SQLサーバーに配布する必要がありますね。
というようなことでは当然やってられないし、面倒だし、RDBMSを使う意味もないので、SQL Serverは1カ所において各アプリケーションはクライアントとして使用したいわけです。こうするための基本的な修正点はSqlConnectionコンポーネントのConnectionStringの内容を修正することです。
修正点ですが、SqlConnectionコンポーネントのConnectionStringプロパティの文字列の中に
data source=(local)
となっていると思いますのでこれを
data source=ほげ←ここはSQL ServerがインストールされているPCの名前
と変更して見ましょう。
これでうまくいかない場合にはSQL Serverやそれがインストールされているマシンのネットワークの設定とか、Windows Firewallの設定だとか、SQL Serverの設定を見直す必要があります。Windows Firewallの設定で例外タブにてSQL Serverが例外として登録されていないようでしたら、TCP, UDPともポート1433を設定してください。
#何かWindows Fire Wallが原因のような気がしてきた。
-
後書籍なのですが、
SQL Serverについては
SQL Server2000でいってみよう DB magazine selection
松本 美穂 (著)ASP.NETが主体ですが、.NET FrameworkとADO.NETプログラミングに関しては
ASP.NETでいってみよう DB Magazine SELECTION
松本 美穂 (著), 百田 昌馬を読まれるのが良いかと思います。
正直なところあまり出来の良くない本を読んでも遠回りしてしまうだかだと思いますので。。。
あと、ADO.NETについてもう少しつっこんで勉強するのであれば以下がとても良いです。
ADO.NET 専修講座 VB.NET編-Windowsデータベースプログラミング【CD-ROM付】 DB selection―Windowsデータベースプログラミング
William R. Vaughn (著), 伊藤 由起子 (編集), 株式会社トップスタジオ (翻訳)