LastUpdate: 2011/07/16 12:01:13

戻る

001 DBのアクセス方式は何が良い?
002 ADODB.Connection (0x800A0E7A)
003 ASPはマルチスレッドでトランザクションをこなすのか?
20101007_Microsoft_サポート技術記事_810886_を参照してください。UNC_共有でホスト
20110619_クロスサイトスクリプテング
20110702_Response.Redirect_と_Server.Transfer


001 DBのアクセス方式は何が良い?

どうも今時は、ADOのようです。ゆくゆく調べて行きたい。

2004/01/17


002 ADODB.Connection (0x800A0E7A)

ADO→Oracle接続にて下記のエラーメッセージが出て、接続できない

ADODB.Connection (0x800A0E7A)
プロバイダが見つかりません。正しくインストールされていない可能性があります。

netから以下の文章を拾う事ができた

<エラー内容>
 プロバイダが見つかりません。正しくインストールされていない可能性があります。
 OraOLEDB.Oracle プロバイダはローカルのコンピュータに登録されていません。
 など

<問題>
 Windows NT/2000/XP 環境において、Oracle 9.2をNTFSファイルシステム上に
 インストールした場合、IISからOracle各種ファイルへのアクセス権がないために
 上記のようなエラーが発生致します。

<解決方法>
 ORACLE_HOME配下のアクセス権限にIISから接続するためのアクセス権限
 (IUSR_<マシン名>)を追加することで解決致しました。


※ORACLE_HOME以下に外部からのアクセスを許す形態となるので
 セキュリティ的に・・?ですが、Oracle9.2以降を利用する場合
 上記制限が掛かるそうです。
 改善して頂けることを望みますが・・・。
 

http://otn.oracle.co.jp/forum/index.html
タイトル:RE[11]: IIS5(ASP)でのOracle接続  2003-03-19 22:05

最初、ADO用の環境が判らず苦戦した。
ポイントは、

  1. MDACコンポーネントをセットアップする必要がること。
     
  2. オラクルのインストールされているコンポーネントで、
    Oracle Provider for OLE DB がインストールされていること。
     
  3. そしてNTFSファイルシステムへの権限設定である。

権限設定の話は、netを検索してもなかなか出てこなかった〜。

ちなみに
Provider=OraOLEDB.Oracle
としたときの
Data Source=
は、ODBCデータソースではなく、tnsnames.ora上のサービス名である。

2004/01/17


003 ASPはマルチスレッドでトランザクションをこなすのか?

どうもマルチスレッドで処理をしているようですね。
と、判断した掲示版は次の所。

http://tryasp.winscom.co.jp/wbbs_qa.asp?TBL=W4_ASP_QA&CATE=&MODE=L_PARENT&NO=0&CTL_DISP=GROUP&CTL_NO=49263

2004/01/20


20101007 Microsoft サポート技術記事 810886 を参照してください。UNC 共有でホスト

Visual Web Developer 2008 Express Edition でサンプルプログラムを作成し、ネットワークドライブ上に配置した。実行しようとしたころ、エラー発生

パーサー エラー メッセージ: 構成ファイルの読み込み中にエラーが発生しました。: ネットワーク BIOS コマンドの制限に達したため、'P:\data\VisualStudio2008_WebSites\MySite' への変更の監視を開始できませんでした。このエラーに関する詳細情報は、Microsoft サポート技術記事 810886 を参照してください。UNC 共有でホストすること Windows XP プラットフォームではサポートしていません。

ファイルは、確かにネットワーク越しのフォルダに存在するが、ネットワークドライブとしてドライブレターをわりあてているにもかかわらず−である。

対処方法 以下のレジストリを、ネットワークサーバ側に施す事。


 

同様に HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters
にも設定するらしい。

http://support.microsoft.com/kb/843584/ja


20110619 クロスサイトスクリプテング

入力テキストなどから、スクリプト <script type='text/javascript'>alert('hogehoge');</script> などを 入力されると、不用意にスクリプトが実行されてしまう。

asp.netの場合は、初期設定で、これらの文字列が送られてきた場合は、エラーになるようだ

エラーにせずに、文字列として処理する為には、以下のようにする。

<%@ Page ValidateRequest ="false" Language="VB"  %>
LabelTitle.Text = HttpUtility.HtmlEncode(Session("title"))

これで、入力したままの文字列が出力されます。


20110702 Response.Redirect と Server.Transfer

画面遷移の方法は、いろいろある。

リダイレクト

一度、クライアントに戻ってから、再度、すくにサーバーに問い合わせる方法。

1回目応答ヘッダの「Location」に遷移先のURLが設定されてきているのがポイントである。

http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88_(HTTP)

トランスファー

サーバーサイドで出力イメージを切り替えて、遷移を実現する

別ページにポストバック

POSTするときに、別の画面のにポストバックすることである。自分の画面にはメッセージは飛ばない方式である


リダイレクトとトランスファーの違いについて

http://www.atmarkit.co.jp/fjava/javatips/062jspservlet029.html

  リダイレクト トランスファー(フォワード)
レスポンス クライアントから2回要求があり、遅い クライアントから1回の要求で済むので、早い
クライアントのURL 遷移先のURLが表示される 遷移元のURLが表示されたまま
リクエスト情報 1回目と2回目は独立しているので、遷移元と遷移先が共有しずらい 1回のリクエスト内の処理であるので、遷移元と遷移先の情報は共有しやすい
遷移先 url指定で遷移するので、遷移先の制限はない 同一のwebアプリケーション内に限られる

http://www.docstoc.com/docs/23970332/ASP.NET????


リダイレクト

Response.Redirect("Form2.aspx")

1回目要求ヘッダ

キー
要求 POST /20110702_%e7%94%bb%e9%9d%a2%e9%81%b7%e7%a7%bb%e3%81%ae%e5%ae%9f%e9%a8%93/Form1.aspx HTTP/1.1
Accept image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer http://localhost:49370/20110702_%e7%94%bb%e9%9d%a2%e9%81%b7%e7%a7%bb%e3%81%ae%e5%ae%9f%e9%a8%93/Form1.aspx
Accept-Language ja-JP
User-Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Tablet PC 2.0)
Content-Type application/x-www-form-urlencoded
Accept-Encoding gzip, deflate
Host localhost:49370
Content-Length

173

Connection Keep-Alive
Cache-Control no-cache

1回目応答ヘッダ

キー
応答 HTTP/1.1 302 Found
Server ASP.NET Development Server/9.0.0.0
Date Sat, 02 Jul 2011 13:14:32 GMT
X-AspNet-Version 2.0.50727
Location /20110702_%e7%94%bb%e9%9d%a2%e9%81%b7%e7%a7%bb%e3%81%ae%e5%ae%9f%e9%a8%93/Form2.aspx
Cache-Control private
Content-Type text/html; charset=utf-8
Content-Length

247

Connection Close

2回目要求ヘッダ

キー
Accept image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Encoding gzip, deflate
Accept-Language ja-JP
Cache-Control no-cache
Connection Keep-Alive
Host localhost:49370
Referer http://localhost:49370/20110702_%e7%94%bb%e9%9d%a2%e9%81%b7%e7%a7%bb%e3%81%ae%e5%ae%9f%e9%a8%93/Form1.aspx
User-Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Tablet PC 2.0)
要求 GET /20110702_%e7%94%bb%e9%9d%a2%e9%81%b7%e7%a7%bb%e3%81%ae%e5%ae%9f%e9%a8%93/Form2.aspx HTTP/1.1

2回目 応答ヘッダ

キー
応答 HTTP/1.1 200 OK
Server ASP.NET Development Server/9.0.0.0
Date Sat, 02 Jul 2011 13:14:32 GMT
X-AspNet-Version 2.0.50727
Cache-Control private
Content-Type text/html; charset=utf-8
Content-Length 811
Connection Close

1回目の応答ヘッダにLocationにURLが設定されてきている。

クライアントブラウザは、すぐさま遷移先のURLに遷移する。


トランスファー

Server.Transfer("Form2.aspx")

要求ヘッダ

キー
要求 POST /20110702_%e7%94%bb%e9%9d%a2%e9%81%b7%e7%a7%bb%e3%81%ae%e5%ae%9f%e9%a8%93/Form1.aspx HTTP/1.1
Accept image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer http://localhost:49370/20110702_%e7%94%bb%e9%9d%a2%e9%81%b7%e7%a7%bb%e3%81%ae%e5%ae%9f%e9%a8%93/Form1.aspx
Accept-Language ja-JP
User-Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Tablet PC 2.0)
Content-Type application/x-www-form-urlencoded
Accept-Encoding gzip, deflate
Host localhost:49370
Content-Length

171

Connection Keep-Alive
Cache-Control no-cache

応答ヘッダ

キー
応答 HTTP/1.1 200 OK
Server ASP.NET Development Server/9.0.0.0
Date Sat, 02 Jul 2011 18:51:32 GMT
X-AspNet-Version 2.0.50727
Cache-Control private
Content-Type text/html; charset=utf-8
Content-Length 811
Connection Close

ブラウザからみると、POST要求に対するリターンがあったようにしか見えない。


別画面POSTBACK

<asp:Button ID="Button1" runat="server" Text="Response.Redirect" />
<asp:Button ID="Button2" runat="server" Text="Server.Transfer" />
<asp:Button ID="Button3" runat="server" PostBackUrl="Form2.aspx" Text="別ページPostBack" />

要求ヘッダ

キー
要求 POST /20110702_画面遷移の実験/Form2.aspx HTTP/1.1
Accept image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer http://localhost:49370/20110702_画面遷移の実験/Form1.aspx
Accept-Language ja-JP
User-Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Tablet PC 2.0)
Content-Type application/x-www-form-urlencoded
Accept-Encoding gzip, deflate
Host localhost:49370
Content-Length 393
Connection Keep-Alive
Cache-Control no-cache

応答ヘッダ

キー
応答 HTTP/1.1 200 OK
Server ASP.NET Development Server/9.0.0.0
Date Sat, 16 Jul 2011 02:57:26 GMT
X-AspNet-Version 2.0.50727
Cache-Control private
Content-Type text/html; charset=utf-8
Content-Length 813
Connection Close

 


戻る