- - PR -
オブジェクト参照がオブジェクト インスタンスに設定されていません
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-09-10 07:20
ありがとうございます。
では、さかもとさんの「接続文字列」か、どっとねっとふぁんさんの、「ファイルのアクセス権」が、怪しいですね。 後者の方は、Access のファイルに対し、とりあえず everyone に full access 権を与えてみてください。これで行けたなら、テストまでに「プロセスを偽装」する方法を調べ、適切なアクセス権を設定して下さい。 | ||||
|
投稿日時: 2008-09-10 09:56
「接続文字列」はどのようにして調べればよいのでしょうか?
「ファイルのアクセス権」に関しては、コントロールパネルから「ツール」→「フォルダオプション」→「表示」→「簡易ファイルの共有を使用する」のチェックを外し、C:\intepub\App_Dataを右クリック、「アクセス許可」クリックしeveryoneのところをフルコントロールを許可にチェックすればいいのでしょうか? あと「セキュリティ」タブ「WEB共有」タブも共有するようにしてありますが うまくいきません。 「プロセスを偽装」する方法っていうのはどういう意味でしょうか? | ||||
|
投稿日時: 2008-09-10 10:45
「接続文字列」は、Access のファイルをプロジェクトに追加した時のプロパティに無いですか?
項目名は ConnectionString か何かで、mdb ファイルのパスがあると思いますので このパスが別パソコン上で一致しているかどうか。 あと、IIS の方の設定はどうでしょうか? 「仮想ディレクトリ」タブの[書き込み]をチェックしているか。 「ASP.NET」タブの[ASP.NET バージョン] がビルドしたバイナリと一致しているか。 | ||||
|
投稿日時: 2008-09-10 12:21
まずは、例外が発生しているInitConnection()のコードを確認しましょう。 予約DataSet.Designer.cs にあるはずです。 [ メッセージ編集済み 編集者: todo 編集日時 2008-09-10 12:22 ] | ||||
|
投稿日時: 2008-09-10 14:43
IISを一度削除してもう一度IISを入れたところ、以前のIISには、自分で作った仮想フォルダ(名前をyoyakuとしておきましょう)でAdminScripts iissamples mailroot Script wwwroot のフォルダをいらないフォルダだと思って消去していました。
しかしあたらしいIISの状況でhttp://localhost/...で実行すると 今までのエラーの代わりに、「更新可能なクエリであることが必要です」とのエラーが出るようになりました。 エラーの場所は同じくta.updateの部分です。 また開発環境下ではきちんと動作しますのでやはりAccessのフルコントロールチェックとかサーバ環境が問題だとは思いますがいかがでしょうか。 | ||||
|
投稿日時: 2008-09-10 14:55
>「更新可能なクエリであることが必要です」とのエラーが出るようになりました。
ファイルのアクセス権のチェックは? このエラーメッセージならアクセス権の問題だと思うけど。 | ||||
|
投稿日時: 2008-09-10 15:41
ファイルのアクセス権のチェックはどのようにすればいいのでしょうか?
App_Dataフォルダ右クリックし「プロパティ」で出てくるところで「共有する」などをチェック入れるとかすればいいのでしょうか? | ||||
|
投稿日時: 2008-09-10 16:35
プロパティの「セキュリティ」タブを選択する。
1.[追加]ボタンを押す。 2.「ユーザーまたはグループの選択」画面になるので 選択するオブジェクト名を入力してください: に Everyone と入力する。 3.[OK]ボタンを押す。 4.ここでプロパティ画面に戻っているので 「フル コントロール」の右側にある「許可」のチェックボックスをオンにする。 5.[OK]ボタンを押す。 Everyone をフルコントロールにするのはプログラムの動作確認のためです。 これで例外が出なくなったら、プロパティから Everyone を削除して 適切な権限を設定して下さい。 |