1 :
nobodyさん :
03/07/28 23:07 ID:33/XGu54
つ旦~
<% Response.Write "乙" %>
4 :
山崎 渉 :03/08/02 02:23 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
5 :
nobodyさん :03/08/02 02:46 ID:dLHbfQ1s
この放置っぷりはどうよ!? もう誰もASP使ってねーな、こりゃ。
質問も無いみたいだし、書き込むことないなあ。 サーバサイドの話だから、プログラム板で吸収してもらうわけにもいかんし。 ASP.Netのスレを旧ASPの話題もオーケーにしちゃおうよ。
7 :
nobodyさん :03/08/05 09:37 ID:urgHLlcR
ageてみる
8 :
nobodyさん :03/08/06 11:13 ID:FzIqg/fc
さびしい
9 :
_ :03/08/06 11:16 ID:???
削除依頼出しとけよ
11 :
nobodyさん :03/08/07 02:18 ID:YRE5O2wD
なんで?
不要だから
18 :
nobodyさん :03/08/15 01:25 ID:q2Qj50e4
ASP
20 :
山崎 渉 :03/08/15 22:30 ID:???
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
21 :
nobodyさん :03/08/19 11:40 ID:pecenLfb
便利なエディター教えてください。interdeveloperだと面倒だす。 いろいろ自分でも探してるんですが、全部html向けばかりで、 独自タグを追加できるといってもasp向けに作れなかったり、とほほです。
22 :
21 :03/08/19 11:59 ID:pecenLfb
super tag 32 pro がasp向けの独自タグでも作れますね。 いまのところこれが一番いい感じです。
23 :
ナユタ :03/08/19 17:18 ID:3HxTfdLw
何だか寂しい場所なので、何気に質問を投稿して盛り上げようとしつつも 実は藁にすがってみる(涙) ASPからCreateObject("Excel.Application")を使って マクロ付きExcelファイルを開きブック内のマクロをキック。 処理終了まで微妙に待ってから終了するという単純な処理を作ってまして。 それが突然動作しなくなってしまったのです。 次の投稿でソースを貼りますが、そのソースを流した結果、ErrMessageには Excelマクロ起動時のエラー : マクロ 'test.xls!Md_test.TestMacro' が見つかりません。 と入っています。つまりオープンできているのにマクロが呼べない状態です。 ちなみにExcel側にはそのマクロは存在します。 サーバ上でExcel単体で動かすと正常に動きます。
24 :
ナユタ :03/08/19 17:19 ID:3HxTfdLw
以下、ソース:1/2 ================================================================================ Set bobj = Server.CreateObject("basp21") 'Excelオブジェクトの作成 Set ObjExcel = CreateObject("Excel.Application") ObjExcel.DisplayAlerts = False ObjExcel.Visible = False 'xlsブックを開く ObjExcel.Application.Workbooks.Open Server.MapPath("xls/test.xls") If Err <> 0 Then '--- Excelファイルのオープンに失敗している ErrMessage = "Excelオープンエラー : " & Err.Description End If If ErrSts = 0 Then '10秒間待ってからtest.xlsのマクロを起動する 'BASP21のSleepコマンドでブックを開いてからマクロを実行するまでウェイト bobj.Sleep 2 ObjExcel.RUN("test.xls!Md_test.TestMacro") If Err <> 0 Then '--- マクロの起動に失敗している ErrMessage = "Excelマクロ起動時のエラー : " & Err.Description End If End If
25 :
ナユタ :03/08/19 17:20 ID:3HxTfdLw
以下、ソース:2/2 ================================================================================ If ErrSts = 0 Then '10秒待ってからtest.xlsを閉じる '同様にマクロの処理が終わるまでの時間を校了してウェイト時間を設定しています。 ChkFlag = False ExcelStat = "" Do Until ChkFlag = True bobj.Sleep 1 ExcelStat = Trim(ObjExcel.Workbooks("test.xls").WorkSheets("Control").Range("A1").value & "") If Len(Trim(ExcelStat)) > 0 Then ChkFlag = True End If Loop If Err <> 0 Then '--- Excelを閉じる終了処理で失敗している ErrMessage = "Excel終了時のエラー : " & Err.Description End If End If ObjExcel.Application.Quit Set ObjExcel = Nothing ================================================================================
26 :
ナユタ :03/08/19 17:20 ID:3HxTfdLw
イベントビュアーに以下のエラーが記録されます。 製品{0001041(略)} 機能 'ExcelUserData' コンポーネント{(略)} の検索に失敗しました。 リソース HKEY_CURENT_USER\Software\Microsoft\Office\9.0\Excel\UserData がありません。 これは「OLE通信しろって言うからExcelを動かそうとしたけど、その機能を動かす為の 紐付けキーがレジストリ上で見つかりませんなぁ」という事らしいのですが、何故こうなったのか 全くわかりません・・・。 試しに「IUSR_<マシン名>」のパスワードをわざと変更してログインしてみると確かに HKEY_CURENT_USER(略)は存在しませんでした。 IUSR(略)の状態でExcelを起動すると、初回起動のセットアップ画面が開いて何やら処理が行われ その後Excelが正常に起動されます。するとHKEY_CURENT_USER(略)が登録されました。 その状態で処理を行うと、エラーなく正常にASPで処理できたんですが、今度はIUSR(略)でログイン している状態でないと処理できなくなってしまいました(!) これでは何となく怖すぎます。 何が原因なのか、回避策は何なのか、なんでも結構です! お願いです、誰か・・・何か知恵を貸して下さい・・・
27 :
nobodyさん :03/08/19 18:08 ID:3+CrjX8n
セーラー服の少女と3P。なんともうらやましい光景です。
オマンコは小ぶりながらもビラビラ大きめで相当使い込んでいる様子!
オッパイの方も手ごろな大きさで揉み応えありそうですよ。
ローターで喘ぎまくっちゃうところなんか感度よすぎ!
無料ムービーをどうぞ。
http://www.pinkschool.com/
ASPをやることになったよ 今から勉強だー 1から勉強するのにどっかいいサイトない?
PictureBoxコントロールに書いた絵をJPEGやPNG形式で メモリーブロックに保存できるDLLってありませんか? APIのMoveMemoryで取り出して使いたいのです。 ファイル保存するDLLならいくつかあるのですが・・。 最終的にCOM化してIISのBinaryWriteでアクセスカウンターの画像を サーバー上で生成してサイトに表示するのが目的です。 一旦ファイル化してメモリーに読み込む方法だと 効率が悪そうなので。 宜しくお願いします。
31 :
nobodyさん :03/08/30 13:32 ID:eHSdLLE5
ここで聞いていいのかわかりませんが、 MSのグループボードって使い心地どうなんでしょう? レポが乗ってるところとかあれば教えてください。 ファイルがASPなのでカスタマイズも楽?
32 :
nobodyさん :03/08/31 16:32 ID:fbVifHnZ
いろいろ探してみたのですが見つからなかったので、質問させてください。 111-2222-3333という文字列(電話番号)があった場合、 11122223333という文字に変換したいのですが どのようにすればよいのでしょうか? -以外の文字を切り出すという方法ができるのでしょうか? よろしくお願いします。
>>32 Tel = "111-2222-3333"
Tel = Replace(Tel, "-", "")
35 :
nobodyさん :03/09/01 10:39 ID:i6fglpHK
意味不明
36 :
:03/09/05 16:41 ID:???
ASP.NETは.NETフレイムワークを使っていてASPとは違う部分も多分にあるので 次スレは ASP.NET & ASP という感じの名前にしてほしい。
37 :
nobodyさん :03/09/05 17:10 ID:xFE7E2zj
了解
来年の話をしとるw
40 :
nobodyさん :03/09/09 17:07 ID:FCtLlmHx
41 :
40 :03/09/09 17:17 ID:FCtLlmHx
自己レスですが、むかついたのでvariantで宣言してとりあえず動くようにはしました。 dim LocalArray しかし配列で宣言するとアウトなのはなぜ・・
>>40-41 Sessionはコレクション型なので配列に値を格納するにはFor eachを使う。
しかし、バリアント型にセッションをまるごと代入しているのは正解。
配列にセッション変数を格納しなおしたい場合はやはりFor each。
セッションの中身は
Session("StoredArray")(1)
Session("StoredArray")(2)
・・・・・・・・・・・・
Session("StoredArray")(n)
というコレクション。
43 :
40 :03/09/10 09:16 ID:???
>42 むぅ。そうだったんですか。sessionに対する私の理解が浅かったようです。 どうもありがとうございました。
44 :
nobodyさん :03/09/10 20:41 ID:ul5oXn2y
自社では動くASPが客先にいれたところ、下記のエラーが 発生しました。 Microsoft VBScript コンパイル エラー エラー '800a0400' ステートメントがありません。 *.asp, 行 31 With Request 又は、 Microsoft VBScript コンパイル エラー エラー '800a0400' ステートメントがありません。 *.asp, 行 49 With objCon ^ 考えられる理由は何かありますでしょうか? script language="vbscript" runat="server" にすれば、特に問題ないはずですよね。。
45 :
44 :03/09/10 20:54 ID:ul5oXn2y
各ASPファイルの先頭の記述は下記の様になっています。 Option Explicitの位置を疑ったのですが、 改善されず。お手上げ状態です。 誰か助けて。 <%@Language="VBScript"%> <%Option Explicit%>
46 :
nobodyさん :03/09/10 22:43 ID:TsxxLFGm
WithってVBScriptのバージョンによっちゃサポートされてないんじゃない? 自社と客先のIISのバージョンは同じ? まずはWithを取り除いて実行してみたら?
48 :
44 :03/09/11 09:25 ID:???
>>46-47 VBScriptのVersionは一致してないです。
IE5かWindows scriptのパッチを入れさせる事を提案してみたいと思います。
ありがとうございました。
49 :
nobodyさん :03/09/13 03:12 ID:pcMGaa/e
以下のような環境でエラーが出ます。 <環境> Window2000 Server SP4 2台(ドメイン設定なし、ワークグループ) ※便宜上片方をA、片方をBとする 1)AのマシンのIISにてWEBサイトを構築し、ASPを配置 2)Bのマシンに共有フォルダを作成し、画像ファイルを保存 3)AのマシンのASP内でOCXを使用して、2)で保存したBマシン の画像ファイルにアクセス・・・でエラーが発生 <エラー内容> TESTOCX (0x800A03EB) Failed to open file \\hostname\image\001 for reading. System error message was 'An unknown error occurred while accessing \\hostname\image\001.' /test/Default.asp, line 20 ローカルディスクを触るようにすればエラーは起きないです。 (サービスパックを適用する前は動いていたような気もしています) どなたかご存知であればお知恵を拝借したいです。
OCX? とりあえずBの共有とNTFSのアクセス権を確認しろ
>49 net use * \\hostname\image
52 :
49 :03/09/14 23:32 ID:???
>>50 &51
ありがとうございます。
早速明日試してみます。
53 :
◇ ◆ZG8T77hntw :03/09/19 19:04 ID:S+hh+T/0
ASPとデータベースにACCESSを使ってWEBアプリ作ろうと思います。 データ量は12万レコード/年になるのですが耐えられるでしょうか。 フィールドは16個で、全てテキスト10文字以内です。 教えて下さい。
>>53 だいじょうぶ。
それに、
For i=1 to 120000
rs.AddNew
rs.Fields("〜")="String"
rs.Fields("*")="String2"
・・・
rs.UpDate
if EndFlg=1 then End
DoEvents
Next
とすれば簡単に12万レコードの実験用データベースが作れるじゃん
56 :
nobodyさん :03/09/20 20:50 ID:E7R77dc7
ASP可のいいレンタル鯖ないですか?
57 :
nobodyさん :03/09/20 22:06 ID:NCfIEGUj
>>53 ASPでAccess使うやつは糞。
検索すれ
53みたいのがプログラマになっても迷惑だから
59 :
nobodyさん :03/09/22 16:24 ID:mq74zNS4
質問なんですけど、 ASPでサーバー内の「WEBから参照できないフォルダ」にあるローカルファイルをWEB上で表示させるやり方を教えて下さい。 以下のやり方でやると <% @Language=JScript %> <% var fs = new ActiveXObject("Scripting.FileSystemObject"); var gazo = fs.GetFile("c:\\A.jpg"); %> <img src="<%= gazo %>" width="80" height="60"> イメージタグのソースが「img src = "C:\A.jpg"」となって失敗してしまいます。 どうしても出来ない場合の妥協案として、 ローカルフォルダからWEB用フォルダに画像をコピーする方法も考えています。 でも負荷を最小にしたいので、できればこの方法は避けたいです。 どなたか解決方法を教えて下さい。
ソートのためだけにデータベースをつかってるのはオレです。 あ お い え う→う え い お あ Order By 〜 Desc
ASPはテキストエディタで手軽に作れていい。 ASP.NETをテキストエディタで作るのはちょっとたいへん。
63 :
59 :03/09/23 09:17 ID:vZ9KuNZy
>>60 さん
あ、多分こうゆうやつです。
早速試してみます。ありがとうございます。
>>59 Webから参照できないフォルダの画像にどうやってWebからアクセスさせるか?
と、
ブラウザは、HTMLを解釈してどうやって画像を表示するのか?
を勉強しる!
ちなみに負荷を考えたら、Web用フォルダに画像をコピーするのがベストです。
66 :
61 :03/09/23 10:17 ID:???
>>64 あるフォルダに入っているファイルを名前順の反対の順にならべてブラウザに表示したいのだ。
zabc.jpg
ggie.jpg
abcd.jpg
みたいな順に。
67 :
64 :03/09/23 16:11 ID:???
>66 ん?entryに好きなように入れるだけだが。 Const FilesMax = 1024 Dim entry() ReDim entry(FilesMax - 1) If fs.GetFolder(ToaruFolder).Files.Count > FilesMax Then Response.End i = 0 For Each f In fs.GetFolder(ToaruFolder).Files entry(i) = f.Name i = i + 1 Next ReDim Preserve entry(i - 1) あとはソート結果を逆順にするだけだが別に難しくは無いだろ。 #最初"CMD /C DIR /B /O:-N"の結果を取ろうとしてハマったのは秘密。 #安全な風穴の開け方忘れた。
横レスだけどBASPのReadDirが一番手っ取り早いような。 もし使えるのならだけど。
69 :
61 :03/09/23 20:49 ID:mPWiGpi6
>>67 ちょっとおれにはむりだなぁ。アルゴリズムをつかって降順から昇順にするのに骨がおれそうだ。
>>68 BASPはEUCコードをシフトジスに変換したり、メール送信などに使用してる。
ファイル名を昇順にするメソッドがあるというのならBASPのメソッド一覧をこれから調べてみる。
70 :
nobodyさん :03/10/07 17:30 ID:mQzhPkOR
include fileで..親パスへの参照が動いていた(おそらく2ヶ月前は)のですが、 突然動かなくなりました。include virtualで解決するのはわかったのですが、 何もしていないはずなのになぜこうなったのか、わからないので、 もしかしたらwindows updateによって仕様変更になったのかと思ったのですが、どなたか詳しいかたいらっしゃいませんか? enableparentpathの設定を1にすると動くらしいのですが、レジストリに書き込んで再起動しても、 同じ症状のままです。仕様変更で無視するようになったのでしょうか? あとなぜかaspの設定がかかれているレジストリのパスには設定が何一つありませんでした。 これは正常ですか?
71 :
奈々氏 :03/10/08 14:59 ID:aKwR4NNQ
かなり困ってるんですが、 ネットワーク内のマシンによって、Workbook.Open(filename)で止まるという意味不明な状態になってるんですが、 誰かわからないでしょうか? IISのログには、Lockかけに逝って500エラー・・と解析すらできず・・・ 再現できなくてほとほと困っております、、、
はあ? 状況も環境もさっぱりわかりません。 念のため聞くけど、クライアントでExcel開こうとしてる話じゃないよな。
初心者スマソ... ASPってクライアントのブラウザに依存するの? VBSで書いたらIE以外ダメとか...JSならNNとかでもOKよとか... 処理するのはサーバ側なんだから、クライアントの環境には依存しないようにも思うんだけど。 サーバから出されるHTMLの中に、VBSとかJSが含まれてたらアウトなのかな? VBSとかJSを含まないHTMLを出すように作れば、ブラウザには依存しないのかな? 勘違いがあるかも知れないけど、良く分からないのよ。
>73 概ね合ってる。自信を持つよろし。 Webアプリの場合はサーバとクライアントがひとつのマシンって時もあるが、それはさておき。 クライアント側からすればサーバはクライアントに文字を吐き出すだけ。 71が混乱しているのを見ての関連か?ウチも72の解説の通りとおもっているが。共有フォルダに置いたファイルロックと同じく。
sage
URL Encodeの反対のメソッドはなんですか? 普通の文字→URL文字→また普通の文字に戻したい
Encodeの反対はDecodeだろ
78 :
76 :03/10/23 11:39 ID:???
そんなメソッドあったか?w BASP21のBase64メソッドでいけたはず。
80 :
nobodyさん :03/10/23 17:34 ID:ZxwBrBeZ
ASPページを開くときにエラーが発生した場合、ページがエラー表示になりますが、 たしか途中までの実行結果を表示するオプションがサーバにあったはずなのですが、 度忘れしてしまいました。調べてもなかなかわからず・・・。 どなたかどこをチェックすればよかったのかおしえていただけないでしょうか・・・。
81 :
76 :03/10/24 04:17 ID:???
82 :
nobodyさん :03/10/24 06:39 ID:S5VfjmM4
SQL Serverのimage型にASPを使って画像を保存する には、どうしたらよいのでしょうか?
何だかASPスレって寂れてますね。 ASPやっている人って自分も含めて変わってるのかな…
84 :
nobodyさん :03/10/28 01:39 ID:nuUB90lg
どなたかご存じでしたら教えてください。 ブラウザからの条件指定によって、サーバで[タイムスタンプ].csv というCSVファイルを作成し そのCSVをwindow.openで別ウィンドウに表示(またはDL)させています。 で、表示も保存もできるようにはなったのですが このときサーバに作成されたCSVを消すタイミングがありません。 とりあえずサーバ側の定期タスクで一定時間を過ぎたら 消すようにしてあるのですが、できれば表示が済んだら消したいのです。 どういう手を使ったらいいでしょうか?
1. 条件をQueryStringで取り、CSVをResponse.Writeで出力するASPを作成 2. window.open で 1 のASPを開く 以上
86 :
84 :03/10/28 04:01 ID:???
>>85 素早いレス、どうもありがとうございました。
そうか、バッファにreadallしてから削除しちゃって
そのあとoctet-streamでresponse.writeするんですね。
助かりました、納得です。
どうもありがとうございました。
87 :
84 :03/10/28 04:17 ID:???
おっと、これだと保存ファイル名が*.aspになっちゃうのか、、、 仕方ないですよね、、、これは目をつぶってもらうことにします
>>87 Response.AddHeader("content-dispositioin", "attachment; filename=newfile.txt")
とかすると変えることできる>保存ファイル名
リストボックスで選択した値をASPプログラムに渡す方法を教えて頂きたいのですが?
>>73 > サーバから出されるHTMLの中に、VBSとかJSが含まれてたらアウトなのかな?
> VBSとかJSを含まないHTMLを出すように作れば、ブラウザには依存しないのかな?
その通り。
>>89 <form action="xxxx.asp" method="POST">
<select>
<option value="1">男</option>
<option value="2">女</option>
</select>
</form>
これでASPに渡せるよ。method="GET"でもOK。
94 :
89 :03/10/29 07:14 ID:???
>>93 ありがとうございます。早速ためしてみます。
セレクト文で得たレコードセットをHTMLの画面に一覧表示したいのですがどうしたらよいでしょうか?
ループで回して、レスポンス.ライト(藁 で出力する
>>95 Do while not rs.eof
response.write rs.fields("データベースフィールド名") & "<br>" & vbcrlf
rs.movenext
loop
98 :
nobodyさん :03/10/30 10:16 ID:itOyI7rK
do response.write w loop
99 :
nobodyさん :03/10/30 23:38 ID:cHHtY1rk
Functionに渡すデータでたとえば0900とすると Functionでは900になってしまうのですが、 どうにかならないでしょうか? よろしくお願いします。
ハァ? Function baka(a) Response.Write a End Function Call baka("0900") 間違いなく 0900 が表示される
データ型を指定してみたらいかがでしょうか?
オブジェクトでwebprogだとプログラム同士の相関関係がわけわかんなくなってどうにもならない。 でもページ間のデータのやりとりとかネットでプログラムするにはやっぱASPがやりやすい?
それにしてもデバッガのないプログラムって辛い。 ASPにもVBみたいの欲しいよ。
105 :
nobodyさん :03/11/10 14:40 ID:mrzVsePb
SessionIDについて教えてください。 SessionIDはタイムアウトするか明示的に破棄するまでは同じ番号が帰ってくると思うのですが、 Windows2000Professionalで動かしているIISの1台のマシンでのみ、アンカーで遷移しただけで SessionIDが変わってしまうと言う現象が発生しています。 SessionIDが変わってしまうため、セッション変数が利用できない状況になっています。 一度そのマシンでIIS付属のSMTP Serviceを停止したところ、 SessionIDが変わらないようになったのですが、 場所をかえて(お客さんの元に返却した)やってみると、 またSessionIDが変わってしまい、Session変数を利用することができなくなっています。 このような症状に出会った方はいませんか? なにか解決方法をご存知の方はいませんか? お願いします。
サーバー名に _ (アンダースコア)が含まれてない?
107 :
nobodyさん :03/11/11 08:56 ID:xlhWSqu3
>>105 は
>>106 で教えていただいた通り、ホスト名から_(アンダースコア)を外したら、
上手くいくようになりました。
ありがとうございます。>
>>106
109 :
106 :03/11/12 01:52 ID:???
IE6では、サーバ名にアンダースコアが含まれているとCookieを受け付けないらしい。 だから毎回新規のSessionになってしまうんだね。
PerlのライブラリやPHPのインクルードのように汎用関数を別ファイルに まとめるにはどのようにすればよろしいのでせうか?
>>110 Include
Server.Execute
Server.Transfer
の3つがちょっとずつ機能が違うが役立つ。
<%
Server.Execute "別ファイル.asp"
%>
なるほど。サンクス。
113 :
nobodyさん :03/11/16 10:31 ID:WNn9sDOI
質問があります。調べたけどどこにもなくて・・・。 basp21のFormSaveAsでファイルをクライアントがサーバにアップするシステムを 開発してるんです。 でも、ローカルで動かすとうまくいくのに、サーバにシステムをアップして 動かすと-3のエラーがでる。 サーバの設定かなと思っていろいろ許可だしたんだけどダメで・・・(TT) 検索しても出てこないんですよ。 誰か分かる方、ご教授ください。
>>113 フォルダに書き込み許可を出してもファイルが書き込めないなら
ファイルサイズが大きいためかもしれない。
ASP.NETならweb.configに文を追加すれば2GBまでのファイルをアップできる。
>>113 誰に許可だしてんの?
たしかIUSR_XXXだけじゃだめぽなはず。
117 :
nobodyさん :03/11/19 05:19 ID:2dbp2lia
>>113 そのフォルダのセキュリティタブをチェックしたら
-3なんだからわかるっしょ
119 :
nobodyさん :03/11/20 11:34 ID:1fBaEcGc
ASP+SQLServerでサイト構築している物です。 以前に見つけたサイトなんですが、ASPに特殊なキーワードを入れて SQLServerのデータを消すことができる、警告を記したサイトを見つけたんですが、 どこだったか忘れてしまいました。 どなたかご存知のかた教えていただけないでしょうか。 内容は=やら,やら特殊文字を入れてデータを消すSQL文を意図的に作り出す方法のものです。 詳しく技術的ないように踏み込んだもので、本を紹介するようなサイトではなかったです。
>>119 特殊なキーワードじゃない、ただのSQL文のチェックミスだろ?
select * from 会員 where password='***' or 1=1 --'
とかで動くようにして会員認証を通すとかそういう奴
121 :
nobodyさん :03/11/21 00:17 ID:4lWveaq4
122 :
106 :03/11/21 00:54 ID:???
123 :
nobodyさん :03/11/21 09:55 ID:Z0AFioIs
>120 そうです。想像されたとおりです。特殊文字というか'とか=とか英数字と2バイト文字以外のことをいってました。すいません。 >121 と、いうことでサーバー自身の脆弱性のことではありません。申し訳ないです。 >122 僕が当初見たサイトではありませんが。より参考になるサイトでした。ありがとうございました。
ユーザーID 【hogehoge】 パスワード 【***'; DELETE FROM 会員;】 select * from 会員 where userid='【hogehoge】' and password='***'; DELETE FROM 会員;'
ASPのセッション変数に配列を入れることはできますが 解放はちゃんとやってくれますか?
128 :
125 :03/11/27 21:56 ID:xaibCik1
>>125 ,127
開放されるときにはいくつかの場合があるが、
Session.Abandonメソッドで開放したり、
Session.Timeoutの設定値の時間がたてば開放になるし、
ユーザがASPページを開いているブラウザをすべて閉じたりしてWebアプリを終了すれば開放が起こる。
Sessionに配列は格納できるが、Session配列のうちのある要素の値を変更する場合はまた配列変数にSession配列を格納してから行う必要がある。言ってる意味わかる?
129 :
nobodyさん :03/11/27 22:14 ID:dSOmMqpH
>ユーザがASPページを開いているブラウザをすべて閉じたりしてWebアプリを終了すれば開放が起こる。 これってそうなの?ブラウザがセッションクッキー廃棄しているだけと思っていたんだけど...
130 :
125 :03/11/27 22:49 ID:???
>>129 Session.IDがクッキーに保存されているわけだからその表現も正しい。
131 :
125 :03/11/27 22:53 ID:???
俺がほんとの125です。
132 :
125 :03/11/28 08:17 ID:???
自作自演はいけませんよ
134 :
125 :03/11/28 11:16 ID:???
何か問題ありますか? dim buff() buff = split(Session("hoge")(1), ",") Microsoft VBScript 実行時エラー エラー '800a000d' 型が一致しません。 というエラーが出ます
135 :
125 :03/11/28 11:28 ID:???
dim buff でOK
136 :
125 :03/11/28 11:37 ID:???
サンキュー>俺
137 :
nobodyさん :03/11/28 11:49 ID:gf6Px9hT
aspの質問です。 Application変数にコネクトされたデータベースオブジェクトを設定しておきます。 ============= init.asp db = Server.CreateObject(…) db.Open … Application.Lock Set Application( "db" ) = db Application.UnLock ============= init.asp 他のASPページでApplication変数に設定されたデータベースオブジェクトを利用します。 ============= sample.asp ・ ・ Set db = Application( "db" ) db.Exec … ・ ・ ============= sample.asp 今までいちいちASPのページの開始時DBオブジェクトを作ってコネクト していた時間が省略されパフォーマンスがよくなりそうですが 同時に複数のユーザーがsample.aspを呼び出したとき、 同じDBオブジェクトが利用されて排他は大丈夫でしょうか? この場合排他がサポートされるかどうかは、Application変数に設定された オブジェクトのクラス設計に依存するのでしょうか?
138 :
125 :03/11/28 12:25 ID:???
141 :
137 :03/11/28 22:39 ID:???
別にネタでもなんでもないです。 なんか根本的に間違ってますか?
根本的に間違ってます
143 :
137 :03/11/30 01:00 ID:???
本やWebに載っているやり方なんですけど・・・
排他の心配してるとこがネタとしか思えん ファイルじゃねーんだぞ
145 :
137 :03/11/30 10:57 ID:???
db = Server.CreateObject(…) db.Open … Application.Lock Set Application( "db" ) = db Application( "five" ) = 5 Application.UnLock 上のような初期化処理が一度だけ実行されていた場合 val1 = Application( "five" ) val1 = 10 この時アプリケーション変数"five"は10にはならないですね。 これは5という値をval1にコピーしてるから。 Set db = Application( "db" ) だとアプリケーション内で共有されているオブジェクトへの参照がコピーされます。 ASPページはマルチスレッドで動いているから、各々のタイミングで"db"を操作することになるけど その際の排他がIIS側でされるのか、オブジェクト側でされるのかが心配です。 本やwebではオブジェクトをApplication変数に入れるといいような書き方がされているのですが そこからの疑問マルチスレッドの障害については書かれていないです。 根本的に間違っているのなら恥を忍んでお尋ねします。
>145 そこら辺はブラックボックスだから何のオブジェクトかにもよるんじゃない?ぶっちゃけ作りこみ次第。 基本的には(ASPで利用される)オブジェクト側はマルチスレッドを意識して作成される事が前提。それでIISが適当なプロセスに振りそれが排他制御する。 でも今回の件は排他制御がメインではなくてコネクションプーリングしようとしてるんだよね。 oo4oならOracleのサンプルでもその記述はあるらしいので参照を保持しておいて必要に応じて渡すのは推奨パターンなのかなと思う。(DB側がその責任を持っている) ADOならそこら辺を省く事で代わりにやってくれるのでページ毎に切るのがセオリー。(OLEDB側が持っている)
147 :
146 :03/11/30 14:04 ID:???
そもそもoo4oに関しては聞きかじりだから必要ならGetDatabaseFromPoolメソッドで検索汁
>>145 dim conn
dim rs
dim SQL as string
conn=Server.CreateObject("ADODB.Connection")
conn.open("DATABASE","ID","PASS")
rs=Server.CreateObject("ADODB.Recordset")
SQL="Select * from TABLE"
rs.open(SQL,conn,3,3)'←ここをSQL,conn,3,2にすると排他ロックをかけられるから他のASPスクリプトはSQL文で開いたレコードセットをいじれなくなるぞ
rs.close
conn.close
149 :
137 :03/11/30 19:24 ID:???
レスありがとうです。 聞きたかったことはApplication変数に設定されたオブジェクトの排他はクラス側で責任をとるのか? ということです。 最初の質問でデータベースオブジェクトとパフォーマンスを例に出して話をしたのが混乱のモトでした。 146氏の >そこら辺はブラックボックスだから何のオブジェクトかにもよるんじゃない?ぶっちゃけ作りこみ次第。 >基本的には(ASPで利用される)オブジェクト側はマルチスレッドを意識して作成される事が前提。それでIISが適当なプロセスに振りそれが排他制御する。 で疑問は晴れました。 やっぱりクラスの設計依存なのですね。
>>149 やっぱり間違ってるじゃん。まあそのまま進んでくれ
151 :
125 :03/11/30 20:10 ID:???
スクリプトデバッガって使い物になりますか? つかデバッガ何使ってますか?
ボクはOn Error Resume Nextを書いているので スクリプトデバッガは必要ありません
154 :
nobodyさん :03/12/01 10:17 ID:EoM7ZtDv
要約するが、 手元の本によるとApplication変数にはlock unlockメソッドがあるらしい。 手元の本によるとApplication変数に比べSession変数は排他処理を必要としないらしい。 手元の本によるとSession変数はIISが自動的にフリースレッドに割り当てるのはらしい 手元の本によるとSession変数にDBのオブジェクトなどCOMを入れるのはパフォーマンス最悪らしい。
追加。 Application変数ではファイルの書き込みなどを行う場合は先ほどのメソッドを使って排他処理が必要らしい。
156 :
nobodyさん :03/12/01 12:49 ID:V4LfYitA
漏れの手元にある本にはApplication.LockってApplication変数をロックするだけって書いて有るけど... どっちが正解?
157 :
:03/12/02 12:48 ID:JqvndUVs
VB.NETで作成してるんですが、 メッセージボックスをjava scriptで出力して、 そのyes/noの値をASP側に通知する方法って あるでしょうか?
goto ってないよね? これないとエラー処理とかつらい。try catch でもいいけど。
On Error Resume Next If Err Then ' エラー処理 End If On Error Goto 0
160 :
nobodyさん :03/12/06 02:03 ID:0fSWmf5e
<!-- include file="a.asp" --> <% Set DBadb = Server.CreateObject("ADODB.Connection") DBadb.Open "Provider=SQLOLEDB;Data Source=(local);" & _ "Database=x;User ID=y;Password=z;" StrSQL = "select a from b" Set RS = Server.CreateObject("ADODB.Recordset") RS.Open StrSQL, DBadb If f((Rs(0)) Then ・・・ Else ・・・ End If RS.Close %> と書いて、a.aspを <% Function f(p) If p = ・・・ Then f = True Else f = False End If End Function %> としたら型が一致しません f とのエラーがでます。 これってincludeの前に#が抜けているからというだけですか?
>>159 これスコープごとにしか有効にならないよね。はまったよ昔。
>>160 ここにコピペしてる暇があれば、#を付けてみればいいのに・・・
163 :
160 :03/12/06 11:13 ID:???
そうなんすよね。ちょっとためせなかったの。 たぶん#で大ジョブだと思います。
#だめだよ
165 :
160 :03/12/06 15:26 ID:???
できたよー コペピ失敗したかな? あー#じゃないとだめってこと?
166 :
nobodyさん :03/12/07 14:38 ID:kFUiBXXg
ごく普通のDB(MDB)使用のアプリ、Win2000の環境でノントラブルなのに WinXP Proに移植した途端に、DBのopen命令あたりで1日に数度 落ちるようになった。(設定上は、両OSともまったく同一) これってM$ Access driverのバグなの? WinXPになってから使いづらいんだけどさ
教えてください。 <input type=checkbox name=hoge value="aaa,bbb,ccc"> のようにvalueで複数の値を渡したい場合はどのようにしたらよいでしょうか? 例えば"bbb"という値は"bb,b"のような値の場合があるかもしれません。 とりあえずタブ区切りにしようかと思ったのですが タブ区切りって大丈夫でしょうか? 一応テストしてみるとできるみたいですが・・・心配です。
Dim hoge Set hoge = new class_hoge Set Session("hoge") = hoge でいいですか? てか、ここ誰もいない?
つまらん質問しかないからだろ
( ´_ゝ`)フーン
Const DATA_FILE = "C:\Inetpub\hogehoge\FIMS.INI" ' 設定ファイル Dim fs, text, line Set fs = CreateObject("Scripting.FileSystemObject") Set text = fs.OpenTextFile(DATA_FILE,1,False) Application.lock While Not text.AtEndOfLine line = Split(text.ReadLine, "=") Application(Trim(line(0))) = Trim(line(1)) Wend Application.unlock てな、処理で設定ファイルの情報を、アプリケーション変数に入れたいのですが、、、 ずーーっと帰ってきません、OpenTextFileで止まってるようです 何か思い当たる節はないかね?
172 :
nobodyさん :03/12/18 17:46 ID:9XJ+NVcV
いちおうあげ しまったファイル名をほげほげしたかったのに(-.-)
>>171 すいません自己レス。
WEBサーバのウィルスチェックソフトのスクリプト遮断機能を無効にしたら動きますた
ヽ(・ω・)/ ズコー \( \ ノ
なるほど・・・それは意外な盲点。 誰かが勝手に入れるだけでも気づかないかも
サーバにか?
は?
178 :
nobodyさん :03/12/22 22:18 ID:2e9pemvT
いまさらだが勉強しなくっちゃ
SQLをバインド機構を使って作りたいのですが、 commandオブジェクトを使って、パラメータをセットするとできるんでしょうか? ストアドプロシジャーを作成してそこに引数を渡すさいも、 commandオブジェクトを使ってパラメータを渡さないとバインドしないんでしょうか? VBSでSQL文を作ってrs.Openするとバインドは使っていないんでしょうか?
180 :
179 :03/12/25 16:21 ID:???
バインド機構がでけた
新年ほしゅ
182 :
nobodyさん :04/01/05 15:09 ID:1VBcX5pv
IIS4.0+MS SQLServer7.0で動いてたASPを IIS6.0+MS SOLServer2000 SP4に移行したんでつが どうしても、動かないASPが1個だけあるんです。 SQLServerに、IDを渡して、対応したオブジェクト(バイナリデータ)を ダウンロードさせるASPであろうと思うんですが ブラウザから、/download.asp?file_name=123みたいにして アクセスすると、保存ダイアログでてバイナリのファイル名はでるんですけど ファイルの種類が空欄になって、保存ボタン押すと、ダウンロードできません ってでるんです 漏れ、ASPわからないし、作った香具師いないし・・・。 コードは、何もいじってないので、なんか設定とかが違うとおもうんですが こころあたりないですか? 他のDBから文字をもってくるASPは動いてるんだけどなー
183 :
182 :04/01/05 18:04 ID:???
どうやら、ページ移動するときに Sessionの値を忘れてるみたいなんでつ。 timeoutとか何も設定してないんですけど IISとかの設定とか間違うと勝手に消えちゃうんですかね。
すいません、PHPはそこそこ、ASPはかなり初心者なのですが、 PHPのaddslashes関数と同じ動作をさせるには、どうすればいいのでしょうか? ≪参考までに、PHPのマニュアルから引用:addslashes関数≫ データベースへの問い合わせなどに際してクォートされるべき 文字の前にバックスラッシュを挿入した文字列を返します。 クォート されるべき文字とは、シングルクォート('), ダブルクォート("),バックスラッシュ (\) ,NUL (NULL バイト) です。
186 :
nobodyさん :04/01/05 21:35 ID:PXoQ1Cnf
Replace(Request.Form("hoge"),"'","''")
187 :
182 :04/01/06 10:37 ID:???
>184 違うサーバでした。 IIS6.0のほうで動かなかったので、その部分だけIIS4.0で動かしてました 仮想ディレクトリに共有フォルダ追加すればいけそうですけど 根本的な解決になってないような・・・ 結局Sessionじゃなかったのかな。
>>187 異なるサーバ間で(普通は)共通のセッションを作ることは出来ません。
ASPでJavaScriptがONかOFFかを取得することはできますか?
javascript使わなきゃわからん
191 :
nobodyさん :04/01/14 09:43 ID:TTVYhpa8
質問させて下さい。 携帯用のページをASPで作っていて、indexで自動的にi、ez、voda用のページをそれぞれ表示させたいんです。 vodaの端末でアクセスした時のHTTP_USER_AGENTは何と表示されるのでしょうか? また、端末判別をする為の文字列は、J-SKY時代の物もvodaになってから販売された物と同じ文字列でいいのでしょうか? 実機がないのでスイマセン。
193 :
nobodyさん :04/01/15 18:55 ID:47dbbmge
教えてください 連動する二つのプルダウンメニューを作りたいのですが上手く出来ません ネットで調べましたが配列に格納するタイプでそれぞれ3件9件程のものでした 都道府県を選ぶとそれに連動する市町村 あるいは 銀行を選ぶとそれに連動する支店が選べるようにしたいのです データベースを使った良いサンプルなどありましたら教えていただけますか
>>193 どう考えてもASPじゃないだろ?
プルダウンで選んだ(変更した)ときに別のプルダウンのリストの内容を変えるわけだろ?
プルダウンで選んで、サブミットして、別なプルダウンを表示するわけじゃあるまい。
変更時に動くJavascriptを吐けば
195 :
nobodyさん :04/01/18 14:23 ID:IZ5B3j5l
id = 02057111 If right(id,1) <> 0 then id else id + 1 end if VBScoriptで、右から1番目が0でないとき、02057111 を返し、 それ以外は、02057111に+1した02057112を返すとしたいのですが、 構文エラーとなってしまいます。 どのように書いたらよいのでしょうか? 基本的なことで大変恐縮ですがどなたかご教授ねがいます。
196 :
nobodyさん :04/01/18 21:52 ID:6XmSqOOa
Function Test1(id) If right(id, 1) <> 0 then Test = id Else Test1 = id + 1 End If End Function ネタだと思われるが、マジレスしてみる。
はじめてです。宜しくお願いします。 参加の方法をじっくり読む時間がありませんので、まずはテストさせて頂きます。 私は学生で今オンラインショップを研究中。HTMLとかを家やっています。 Gデザインが専門なので、サイトのラフ絵はもう創りました。 そこにショッピングカートを各ページに入れますけど、ここからが問題。 問題をかかせてもらう前に、この書いてるものがちゃんとアップするのか分からないので まずはここで終わります。 解決法をお手数ですがどうぞ真面目に宜しくお願いします。 次回続きます。
>>195 id = "02057111" ' ダブルクォートで囲むのも忘れずに!
やっと自分で書いた所にたどり着きました。 私の問題を書く所はここでいいのかもわかりません。 効率的にいきたいので、続けていいでしょうか?
>>195 じゃないけどダブルクォートでくくっちゃうと
"02057111" + 1 = "020571111"になるよ。
「じゃないけどダブルクォートでくくっちゃうと "02057111" + 1 = "020571111"になるよ。 」って、私に話をしてるのですか???? もし、そうでしてら意味がわかりません。
なんか不思議な人が来たなぁ
>201 まず自分の名前が激しく文字化けしてるのに気付いてる? それから、ASPに関係のある質問ならこのスレッドで問題ないんだけど 複数のQ&Aが同時進行してるんだから、全部が貴方へのレスではない。 例えば200は「>195じゃないけど」と書いてあるように、 195-196-198-200、という流れの中にある。 ということで質問どぞー。
やっと日本語を話して頂きまして、ありがとう。 なんだかここは私のいる所ではないようです。 私は今レンタルサーバーとショッピングカート(CGI)を研究中。 こんな私はどこへ移動すれば、私の問題を解決できると思いますか? 是非まじめにお答えください。
ああ、自分も質問したかったのに忘れてた……_| ̄|○ ページを取得して、その一部を書き換えてクライアントに渡すという、 プロキシめいた?ことをやりたいのですが、どういったコンポーネントを 使えば可能でしょうか?(できれば、フリー/製品問わず、明示的にインストールが 必要なものは避けたいです。というのも、環境の管理が自分のところではないもので) 具体的には、郵政公社の郵便番号検索サービスに関して、 ・ユーザーが別ウインドウで入力した住所etc.を自動的に検索条件のテキストボックスに 入れる ・返ってきた検索結果ページにボタンを付加するなどして、別ウインドウに結果を 取り込めるようにする ということをしたいのですが……
有難うございます。 以上の難しい数字みたいのは、私のではなかったのですね。 是非質問をさせて頂きますが、今日は遅いので眠ります。 またよければ、来てください。 みなさん、お休みなさい。
スレを上げるとはこういうことか
>>205 そもそも何もインストールしないでやりたい、というところに無理があるが
MSXMLが入っている環境ならXMLHTTPでWebから取得できる「かも」知れないね。
18782+18782=37564
>209 亀ですがどうもです。 あとADODB.Streamで無理矢理……ってのも考えましたが 手に余りそうなので止めますた(´・ω・`) とりあえず郵政公社のデータ落としてきてローカルのDBに放り込むことにします。 ……ユーザーさん更新してくれるかなー > データ
>>211 必要な郵便番号が変われば更新してくれるでしょう?
べつに追加されようが無くなろうがそれが使わない郵便番号なら更新する必要もあるまい
それは兎も角、これから大合併でいっぱい変わるんだろうな
ちょいとお伺いしたいのですが VBScript ver5から一応クラスが作れるようになってますよね? .NETじゃないASPで、(COMコンポーネントでない)クラス作ってる方っています? (Sessionに入れて持ち回せるわけでなし、何に使うんだと言われると困りますが……)
214 :
nobodyさん :04/01/22 23:55 ID:QY3KlghZ
四角いテキストのフォームに数字を打ち込んで欲しいのですが <input type="text" value="" name="hoge"> 受け取った時文字をはじくにはどうしたらいいんでしょうか If TypeName(Request.Form("hoge")) <> "string" Then '文字列じゃなかったら Response.Write "ok" Else '文字列だったら Response.Write "dame" End If と組み込む前に試しにつくったのですがダメでした。 誰かご存知でしたら教えてください。
216 :
214 :04/01/23 01:25 ID:???
>215 どうもありがとうございますヽ(´ー`)ノ
217 :
213 :04/01/23 22:59 ID:???
……なるほど誰もレスしないわけだ、と思い知らされた、今日は寒い寒い冬の日でした。 あーでもないこーでもないと頭ひねってやっとこさえたクラスが ぜんっぜん使えないに等しいと分かったときの空しさと言ったら…… ああ、ASPなんか止めてCGIで作りてぇ。
218 :
nobodyさん :04/01/25 16:34 ID:KX9usoWV
ASP VBscript ver5 で DOSコマンドを実行し、その結果を変数で取得する事は 可能でしょうか?
>>217 リモートスクリプティング使うときに仕方なく使いましたが
それ以外は使ったことないですねぇ(´д`;)
>>214 <form action="dokka.asp" onSubmit="if (isNaN(document.form1.text1.value)) {alert('数字入れろゴルァ!');return false;}">
222 :
218 :04/01/26 00:02 ID:h20y0KQp
>> 219 まさに求めていた以上のものです! ありがとうございます><
PHPやりたい…… J2EEやりたい……そこまでいかなくてもStrutsとか憧れる…… VBScriptはもー嫌だぁぁぁぁ
JScriptでヨロシコ
JScriptでレガシASP書いてる香具師ってどのくらいいる? 漏れは言語の好みだけ言えばJScript>>>>(越えられない壁)>>>>VBScriptなんだけど ASPはVBScriptが常識!!っぽい雰囲気があって…… ITNAVIに一件、JScriptでASPなサイトのリンクがあるのは知ってるんだけど。
ASP.NETだが、おれはC#のサンプル見ながらJscriptで頑張ってるぞ VBSのサンプルはメソッドとプロパティの区別が付きづらいからキライ
>226 厨でスマンけど、JScriptもMSILにコンパイルされるの? だったらなんかいい感じだなぁ……(イミフメ
>>227 JScript.NET ならコンパイルできる
"テスト"
230 :
k :04/01/28 22:13 ID:edLBAMSu
こんばんは。 EXCELのWorkSheet_Changeイベントに関し、EXCELのモジュールに下記のようなソースが記載されたマクロブックがあります。 このソースはSQLサーバーからのデータを4列目、5列目に表示するものです。 このマクロブックからマクロを除き、フォームだけにしてWeb Server上に掲載し、代わりにASP上で下記のようなWorkSheet_Changeソースでエクセル上の4列目、5列目にSQLサーバーからの値を返したいと思っています。 ASP側で操作するにはどのようなコードになるのでしょうか?
231 :
nobodyさん :04/01/29 00:52 ID:8uLhjXYn
>>195 内部変換関数つかいなよ。バリアントは怖いよ。
Function Test1(id)
Dim strReturn
If Right(Cstr(id),1) <> "0" then 'StrCompが望ましい罠
strRetrun = id
Else
strReturn = Cstr(Clng(id) + 1)
strReturn = Right("0000000" & strReturn,8)
End If
Test1 = strReturn
End Function
232 :
213 :04/01/31 00:28 ID:???
えー、本日は己のさらなる厨っぷりに気付いた日でありました。 お約束さえ守れば使えるじゃねーかClass。 とりあえずカプセル化がすっきり出来るだけでも感動ものですたよ。 ということで、漏れの作ってるサイトにはけったいな拡張子のソースが うじゃうじゃしていることになりますた。(.aspじゃなんか違う気がしたんで、 クラスファイルは変な拡張子にしてみたのれす)
233 :
nobodyさん :04/02/01 18:34 ID:xZtlTOAY
>>225 会社の部門イントラDBサーバをASP(JScript)+ADO+MSSQLで構築してしまいました。
4月から異動なのですが誰にも引き継げなくて困っています。
初心者な質問です。 ASP (ASP.NETじゃなくてレガシーASP) で使えるテンプレートシステムってありますか? てきとーに変数扱いの文字を埋め込んだテンプレートHTMLを作って、それをReadAllして、 Dictionaryオブジェクトにつっこんだ置換変数群でReplaceする、っていうルーチンは 作ってみたんですが、ループや条件分岐が入るとどうもきれいにできなくてめんどくさい。 すでに何かいいものがあったら教えてほしいです。
235 :
nobodyさん :04/02/02 00:28 ID:7HMb9QmJ
e-mail欄を作ってe-mail以外を入力させないようにする時は @が入ってない時は×にすればいいんですか?
237 :
納豆 :04/02/03 18:07 ID:???
ASPからADOを使ってmdbのODBCリンクテーブル(SQL Server2000)を参照したいのですが、 接続に失敗しました。と素っ気ない対応をされます。 何か情報があればおながいします。 ちなみにmdb内のテーブルは参照(更新)可能です。 あと、そんな回りくどいことをするなという突っ込みも勘弁してください。
>>237 考えられるのはユーザー認証くらいじゃないの?データベース接続のユーザが固定に
なってるならいいけどログインユーザを使うようになってたりすると、IISはIUSR_*の
ユーザを使うから・・・
そんな回りくどいことはするな
>>237 あ〜、漏れもそれやろうとしてダメだったことがある。
結局直接読むことにした。
結論:そんな回りくどいことをするな
キーワード検索についてなんですが カタログという文字を検索する場合、カタログ(全角)でもカタログ(半角)でも 引っかかるようにしたいのですが、どのようにすればよいのでしょうか? お分かりになる方ご教授をお願いいたします。
241 :
納豆 :04/02/05 09:14 ID:???
>>240 SQL Serverなら、デフォルト設定は全角半角ひらがなカタカナぜんぶ同一視じゃなかったっけ?
>>240 Index Serviceなら、デフォルトで同一視だよ
244 :
234 :04/02/06 03:05 ID:k/1f7yuZ
ASPでテンプレートっぽいことをやってみるために、こんなの作ってみたけど、どうでしょう? パフォーマンスはあんまり考えない方向で。 改良点とかあったらきぼんです。 要basp21(ここではMatchしか使ってないけど) ↓以下次号
245 :
234 :04/02/06 03:06 ID:???
-- func.inc -- Option Explicit Function IncludeRecursive(ByVal strTemplateFile, ByRef dReplaceDictionary, ByRef fso) Dim f, strLine, strOut, key, bobj, strVar, strReplaceFile Set f = fso.OpenTextFile(Server.Mappath(strTemplateFile), 1) set bobj = Application("bobj") 'global.asaでSet Application("bobj") = Server.CreateObject("basp21")やってます Do While Not f.AtEndOfStream strLine = f.ReadLine Do While InStr(strLine, "$") > 0 strVar = bobj.Match("/(\$[^$]+\$)/k", strLine) If strVar <> "0" Then If InStr(strVar, ".file$") = 0 Then '$ファイル.file$ 形式なら strLine = Replace(strLine, strVar, dReplaceDictionary(strVar)) Else If dReplaceDictionary.Exists(strVar) Then ' $ファイル.file$が未定義ならファイル.tplを読む(おせっかい) strReplaceFile = dReplaceDictionary(strVar) Else strReplaceFile = bobj.Match("/^\$(.+?)\.file\$$/k", strVar) & ".tpl" End If strLine = Replace(strLine, strVar, IncludeRecursive(strReplaceFile, dReplaceDictionary, fso)) End If End If Loop strOut = strOut & strLine & vbCrLf Loop f.Close Set f = Nothing Set bobj = Nothing IncludeRecursive = strOut End Function
246 :
234 :04/02/06 03:07 ID:???
Function IncludeTemplate(ByVal strTemplateFile, ByRef dReplaceDictionary) 'Response.Writeするもの Dim fso, strOut Set fso = Server.CreateObject("Scripting.FileSystemObject") '再帰でFSOを何度もCreateObjectしないように(意味ある?) strOut = IncludeRecursive(strTemplateFile, dReplaceDictionary, fso) Set fso = Nothing dReplaceDictionary.RemoveAll '使用済み辞書の消去(なんとなく) Response.Write strOut End Function Function ReturnTemplate(ByVal strTemplateFile, ByRef dReplaceDictionary) '戻り値を返すもの ループ処理用とか Dim fso, strOut Set fso = Server.CreateObject("Scripting.FileSystemObject") strOut = IncludeRecursive(strTemplateFile, dReplaceDictionary, fso) Set fso = Nothing dReplaceDictionary.RemoveAll ReturnTemplate = strOut End Function こんなラッパーみたいなものいらないような気はするけどなんとなく。 2種類なくても<%= %>で戻り値表示すればいいんだけどなんとなく。
247 :
234 :04/02/06 03:10 ID:???
■使い方 Dictionaryオブジェクトに $変数$ ってキーをセット、IncludeTemplateを呼ぶ。 $変数$ はそのまま置換、$変数.file$ ならばファイル内容で置換。 置換ファイルのなかの変数も展開される。 以下サンプル -- page.asp -- <!-- #include file="func.inc" --> <% Dim dReplace Set dReplace = CreateObject("Scripting.Dictionary") With dReplace .Add "$title$", "ページタイトル" .Add "$header.file$", "header.tpl" .Add "$msg$", "本文いろいろ<br>長文でも自由に" .Add "$footer.file$", "footer.tpl" End With Call IncludeTemplate("template.tpl", dReplace) Set dReplace = Nothing %>
248 :
234 :04/02/06 03:10 ID:???
-- template.tpl -- <body> $header.file$ <h1>$title$</h1> <p>$msg$</p> $footer.file$ -- header.tpl -- <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <title>$title$</title> </html> -- footer.tpl -- <p>けつに添える決まり文句</p> </body> </html>
249 :
234 :04/02/06 03:15 ID:???
ごめん>248の<body>の位置は間違ってるです。 サンプルその2。分岐、ループはこんなかんじでむりやり。 -- table.tpl -- おおもとのテンプレート $header.file$ <body> <h1>$headline$</h1> $content.file$ $footer.file$ -- table_1.tpl -- $content.file$の中身(レコードなかったとき) <p><img src="hoge.gif">レコードはありません。</p> -- table_2.tpl -- $content.file$の中身(レコードあったとき) <table> <tr> <th>項目1</th> <th>項目2</th> <th>項目3</th> </tr> $table_3.loop$ </table> -- table_3.tpl -- ループ部分 <tr> <td>$field1$です</td> <td><a href="hoge.asp?id=$field2$">$field2$</td> <td>「$field3$」</td> </tr>
250 :
234 :04/02/06 03:16 ID:???
-- table.asp -- <!-- #include file="func.inc" --> <% strSql = "SELECT * FROM テーブル" Set rs = Db.Execute(strSql) If rs.EOF Then 'SQL投げてなにも返ってこなければ With dReplace .Add "$content.file$", "table_1.tpl" 'なにもないよメッセージ End With Else 'レコード返ってくれば Do While Not rs.EOF With dReplace .Add "$field1$", Server.HTMLEncode(rs("field1")) .Add "$field2$", Server.HTMLEncode(rs("field1")) .Add "$field3$", Server.HTMLEncode(rs("field1")) End With strLoop = strLoop & ReturnTemplate("table_3.tpl", dReplace) rs.MoveNext Loop dReplace.Add "$content.file$", "table_2.tpl" 'テーブルあった場合 dReplace.Add "$table_3.loop$", strLoop 'ループ結果を入れる End If With dReplace .Add "$title$", "テーブル一覧" .Add "$header.file$", "header.tpl" .Add "$headline$", "テーブル表示サンプル" .Add "$footer.file$", "footer.tpl" End With Call IncludeTemplate("mail_top.tpl", dReplace)
251 :
234 :04/02/06 03:21 ID:???
長々とすみません。どっかのうぷろだ使ってやるべきだったか…… SubとFunctionの使い分けしないクセとかもあって失礼。 初心者なのでなんとなく作ってみましたが、こういうのは誰かがもっとマシなの どっかで作ってるんでしょうね。
う、table.aspで読んでるのがぜんぶrs("field1")だとか、 table_3.tplで閉じ</a>がないとか、 なんとなく書いたサンプルなんで変なツッコミどころが多い…… table.aspのDb開いたりするあたりはなんとなく省略。
253 :
nobodyさん :04/02/09 11:37 ID:FDyP722P
あげ
誰かこのソースにコメントしてあげてください。 見所があるなら(゚Å゚)ホウとか。 どうしようもないんなら(´゚c_,゚` ) プッとか。 アドバイス出来ることがあるなら細かく書いてあげるとか。 ASPを利用してる技術者の皆さんにが推敲してあげれば 便利で汎用的な部品になるかもしれないじゃないですか。 ぼくは毎日仕事の始めにこのスレをチェックし、 そのたびにレスがついてないのを見て 「あぁ、今日もレスついてないのか・・・」 「あ、空ageだ・・・」 と思って心を痛めてきたんです。 お願いだから、誰か役に立つレスをしてあげてください。 オレは読むのメンドイんでパス。
>234 すまん。251でお前さん自身も書いてるけど、 zipかなんかにまとめてうpろだに上げてくれん? レガシASPでテンプレートは漏れも欲しいと思ってたんだけど 今気力無くて、コピペすらしんどいんだわ。頼む。
256 :
nobodyさん :04/02/12 00:15 ID:hTvme9QK
aspを使用したページを検索でひっかける為には hoge.htmlにincludeさせたらできますか? それともどうやっても無理なんでしょうか。
>>256 13点。
もう少し日本語を勉強するか、質問スキルを上げましょう!
258 :
234 :04/02/13 06:01 ID:YLmnZHSD
259 :
234 :04/02/13 06:03 ID:???
さっそくレス先まちがえた… _| ̄|○
260 :
nobodyさん :04/02/17 03:30 ID:v8l0G8dl
空age
261 :
nobodyさん :04/02/17 03:46 ID:wO4OnFg8
aspって エーエスピーていうんだよ
>258 ごめん。ダウソはしたけどまだ全然見てない。 っちゅーか今手持ちの仕事が全焼寸前。火付けたの漏れなんだけど_| ̄|○
263 :
254 :04/02/18 02:46 ID:???
>258 一応落として読みました。 readmeにも書いてあったけど、いかにも重そうな感じがしました(動かしたわけじゃないけど)。 けど、それよりいい方法があるかって言われると思いつかなかったりする。 汎用性を犠牲にして置換用のキー名は固定し、 キー名=文字列の単純置換をする程度なら実用性はある気はします。 つーか、今の仕事ではそういう仕様で実際に簡易テンプレートとして使ってます。 開発する人が便利に使うテンプレなのか、ユーザにメンテさせる(ユーザに対するインタフェースとしての) テンプレなのかってのも論点にしなきゃいけないのかなーと思ったり思わなかったりしてます。 少なくとも、開発にとってのみ都合のいいテンプレートであるとしたら、それによって レスポンスが明らかに落ちる(であろう)事なのに、「開発効率が上がります」じゃ客に言っても 通用しない気もするこの頃。 コードの変更なしにテンプレートをいじるだけで****出来ますよ。という訴求力がないと客は納得してくれない希ガス。 ほろ酔いなので何言ってるか自分でもよくわかんないわけですが、とりあえず言えることは、 ちょっと前に煽り気味のレスつけといて今さらマジレスすることになるとは思わなかった罠。 また気がついたことがあったら書きますよ。当分ASPの現場抜けられそうもないし。 >262 おつかれさまです。ヒマな時にでも先達の貴重な意見を期待しております。
>258 262っす。 いやー、もう盛大に燃えてるんで火事場はほっといて(ぉぃ)資料集めとか言いつつ おっことして試してみますた。 速度を見るって意味では九九の表くらいしかやってないんだけど、 まぁまぁじゃないかな。少なくともうちの会社にあるテンプレートと称するものよりは よい希ガス。(変数置換以外はASPコード残してExecuteするのだわ、これが) ただ、263=254も言ってる通り、これが利点だ!!ってのがないと提案しにくいかも。 漏れの勤め先はデザイナーさんも抱えてるんで、協業体勢が取れる、ってのを 利点として上にプッシュする材料にはなるけどね。 しかし何かこう、見ててHTML::TemplateとかVelocityみたいのできねーかな…… とか思ってしまう辺り、漏れってコーヒー一杯の注文に鍋で沸かして持っていく タイプなんだろうかw デモソーナッタラスクリプトジャダメダロナ あ、クラスのうまい使い方だけど、最近なんとなくコツがつかめてきた気がする。 googleで「VBScript Class」って全言語検索かけるとなかなか巧い例がひっかかるので 一度お試しを。 あ、>263殿、一応P(onkotsu)G(enerator)名乗って5年ほどですが、Webの世界は まるっきりどしろーとなんで、お互い精進しましょうや。
265 :
:04/02/20 19:13 ID:???
何か分からなくなってきたんですが Sessionって使わない方がいいんでしょうか。 IE以外はクッキーOFFにしたら成立しないし、下手にデータを放り込むと サーバ資源を圧迫するからどーとか…… UUIDでも自前で生成して、毎回hiddenフィールドに仕込んで クライアントを識別するとかした方がいいんでしょうか? ああ、何かもうASPでサイト構築なんてできない気がしてきた…… (ASPでガンガン動いてるサイトが少なからずあることは知ってますけど)
268 :
nobodyさん :04/02/21 11:24 ID:bYLJ5Yhw
>>267 Form(POST)で囲ってhiddenキー埋め込んで、
onclick="javascript:form1.submit();"
をすればIriaだろうが何だろうがブラウザからクリックしないとダウンロードできなくなるよ
266ですが、ここは人いなさそうなん他で聞いてきます。
270 :
267 :04/02/21 13:50 ID:???
>268 ごめん。漏れ<>265っす。
271 :
nobodyさん :04/02/21 15:51 ID:plwAZOQX
.NETとかいう代物も出てきて、近い将来ただのASPというのは使われなくなって しまうのでしょうか? 今からASPで何か構築してみようと思うのですが、.NETから始めるべき?
MSがサポートしなくなるだろうから、全くの新規でASPってのは徐々に無くなっていくと思う。 ただ、 ・既にClassic ASP(.NETのつかない昔ながらのASP)で、いくつかWebサイトが動いている ・そこに新たにサイトを構築したい ・マシンの管理の都合で勝手にPHPとかTomcatとか.NET Frameworkも入れられないし、 社員のスキル、納期を考えると未経験の技術は使えない とかゆーことになると「じゃ今回もClassic ASPでやるしかないか」となることもあるだろう。 つか、今漏れが担当してるのがそのパターン。 何かこんなん、アンチパターンになかったっけ?
ネイティブASPで十分だと思うけどな。結構色々できるし。
後でASP.NETに移行するのも簡単だし
簡単か? ASP.NETでMS推奨のいろいろな機能を使うってのは、 本来は存在しないイベントをむりやりハンドリングする代物が多すぎて気持ち悪い、 って意見はけっこうあるね。 だからシンプルなレガシーASPとかのほうがいいとかなんとか。 シンプルなぶん、大規模開発するにはかなりノウハウが必要だけどな。
>277 >本来は存在しないイベントをむりやりハンドリングする代物が多すぎて気持ち悪い、 >って意見はけっこうあるね。 しかし、レガシASPで組んでて、 「このページをMe(thisでも$selfでもいいけど)扱いできたらなー……」 って思うことない?ないでつかそうでつか(´・ω・`)
っていうかASP.NET使うほどのWebシステムってそうそう無いぞ ほとんどがレガシASP+ADO+BASPで十分
ちょっとVBSでのクラスを試してみようと思ったんだけど・・・ コンストラクタ(Class_Initialize)って、引数を持てないの? 初期化処理を別にやらなきゃならんなら、コンストラクタの意味がないような・・・
>280 まぁ、そうでもないよ。ほっといたらフィールドは全部Emptyだし。 Property Get(でもFunctionでもいいけど)の結果を いちいちIsEmpty()に掛けるって何かカコワルイ希ガス。 それにコンストラクタで余りややこしいことスンナ!!ってのもあるでしょ最近。
>280 あ、蛇足だけど。 ・COMコンポーネントの中にユーザーClassのインスタンスは入れられない (例えばScripting.Dictionaryに入れるのもダメ。取り出したらプロパティもメソッドも呼べなくなってる。 Session、Applicationも無論同じ) ・逆に、ユーザーClassのメソッドetc.にCOMオブジェクトを渡すのもNG (例えばRecordsetを渡して、メソッドの中で処理しようとしても、メソッドの中に 入った時点でRecordsetはプロパティもメソッドも呼べないモノになってしまう) ・Classの中に、COMオブジェクトを完全に封じ込めるのは可能 (プロパティの管理に、PerlっぽくScripting.Dictionaryを使うとか。 この場合、外にはDictionaryを直接見せない) 激しくガイシュツとは思うが、参考までに。
283 :
:04/02/23 09:46 ID:???
>>266 すいません。まだ理解していません。
download.aspの中身は、ファイルを読み込んでresponse,writeする処理なのでしょうか?
284 :
:04/02/23 10:39 ID:???
>download.aspの中身は、ファイルを読み込んでresponse,writeする処理なのでしょうか? download.aspの中身は、ファイルを読み込んでresponse,binarywriteする処理なのでしょうか? 面倒なので、リダイレクトでなのとかしたいのですが?
リダイレクト出来ちゃったら直林も出来ちゃうと思うのですが。 オレは何か勘違いしてるだろうか。
>>285 確かに直林できる場所にファイルを置くことになるが、
ユーザはそのアドレスを知り得ない。
でもパケットモニタしたらわかっちゃうかも
ステータスバーに表示されちゃうんとちがう?
288 :
234 :04/02/23 22:18 ID:Af0KmrX8
需要があるのかどうかわからないけど、テンプレートライブラリをver upしました。
http://2ch.cafenet.jp/clip/img/829.zip 不具合を細かく直したほか、クラスにまとめてカプセル化してみました。
これでだいぶすっきりしたと思います。
計測したりしてませんが、重さも思ったほどたいしたことないみたいだし
これぐらいなら汎用で実用になるんじゃないかな?
テンプレート関係の関数とDB操作関係の関数がごちゃまぜに
同じクラスになってるのがかっこわるい気もしますが、
自分の今回の用途としてはこれで便利なので、とりあえずこのまま。
いまさらながらPHPのSmartyの存在を知って資料を眺めてみましたが、
PHPでプリプロセッサを作ってさらにPHPファイルを生成する、って発想は
なかなかおもしろいですね。めちゃめちゃ高機能だし。
でも高機能すぎて参考にならないやって思って他をあたってみると、
PHP4 テンプレートクラスライブラリ改 (
http://www.daiwakantei.co.jp/pc/tmpl2sa.html )
ってのはけっこう手ごろなかんじです。方向性がちょっと似てるっぽい?
今回はこれを参考にしてメソッド名を変更しました。
もっと早く知ってたら、いろいろ実装をパクったのになぁ。
余裕があったらASP+VBSで移殖してみたいけど、
尻に火がついてもはやテンプレートライブラリをいじってる場合じゃないんで
ずーっと先に気が向いたら考えます。
289 :
234 :04/02/23 22:54 ID:???
>ただ、263=254も言ってる通り、これが利点だ!!ってのがないと提案しにくいかも。 >漏れの勤め先はデザイナーさんも抱えてるんで、協業体勢が取れる、ってのを >利点として上にプッシュする材料にはなるけどね。 開発効率向上+保守性向上、ですかねぇ。 今回は、デザイナーさんと2人で組んでの仕事です。 で、これが終わったらわたし退社しちゃう予定なんで、なるべく引き継ぎがらくちんなように、 手順がはっきりするように、作ってみました。 前任者から数年前に引き継いで手を入れてた別のサイトがあるんですが、 もともと素人コードなうえに、素人に毛が生えた程度の自分がいじっちゃって、 山のような仕様変更にその場しのぎを繰り返しまくり、もぉつぎはぎしすぎて 自分以外は読めたもんじゃない……。引き継ぎにめちゃめちゃ苦労しそう……_| ̄|○ こんなにぐちゃぐちゃになる前に、思い切ってどっかで書き直しとけばよかった……。 あとそれは、もともと自前でデザインもやってたものを、あとからデザイン外注するように なったので、デザイナーさんから届いたHTMLをぐちゃぐちゃ埋め込みASP化する作業に やたら手間取ったりミス発生したりしてました。反省。 >レスポンスが明らかに落ちる(であろう)事なのに、「開発効率が上がります」じゃ客に言っても >通用しない気もするこの頃。 今回は、サーバーマシンはけっこう早いやつを使ってるんですが、アクセス数は たいした量にならない(ログイン制で1日数十人程度?)っていう変な案件なんで、 ちょっとぐらい重くてもあんまり問題ないです。(攻撃くらったらわかんないけど……) でもまあ、テンプレートから動的生成するなら、これぐらいの負荷は許容範囲じゃないかな? チューニングの余地は山ほどあると思いますが。
290 :
234 :04/02/23 22:57 ID:???
あ、仕事関係の話をちょっと出しましたが、 これを公開する権利関係にはべつになにも問題ないです。 気にしないでください。
291 :
nobodyさん :04/02/24 10:32 ID:lNj06MAF
2chでは test.cgi/12345678/l50 というURIでtest.cgiに"/12345678/l50"という パラメータを渡して処理しているようですが、これをaspで実装させることは可能でしょうか? test.asp/12345678/l50 → test.aspを実行、12345678/l50をパラメータとして渡す というように 可能な場合はサンプル等があればご紹介ください。 以上よろすくおながいすます
294 :
292 :04/02/24 15:44 ID:???
295 :
292 :04/02/24 17:30 ID:???
297 :
292 :04/02/25 09:00 ID:???
おまいらに質問があります SQLServerからレコードを抽出してCSVを作成しているASPがあるのですが、 CSVファイルのサイズが大きくなってネットワークの負荷が無視できないものに なってきたので、サーバーで圧縮して直接LZHかZIPで出力したいと 思っております。 BASP21使って外部コマンドでテンポラリファイルからLZHファイルを作成して 出力することはできるのですが、ASPが稼動しているマシソの鯖ポリシーで tempファイルの作成は禁止されております(一瞬でも不可・・・)。配列から LZHorZIP圧縮された配列を作成するActiveXライブラリをどなたかご存知 ないでしょうか? サンプルがあればご紹介ください
299 :
nobodyさん :04/02/27 22:36 ID:/hLQFYeS
ASPが使えるホスティングサービスってありますか? MSDEとかSQLServerが入ってるとモアベター
>298 てゆーか、テンポラリファイル一つ作れない鯖に ActiveXコントロールなんて入れられるのか?
ASP+VBSだけでZIPやLHAアルゴリズムを実装してみるとか。
>302 スクリプトタイムアウト起こしそうw
>>304 MATCHESにtest
TARETにtest
OPTIONSに12345678,123-500がセットされます
306 :
298 :04/03/01 09:18 ID:???
>>300 ありがとうございます。
早速テストしてみたところunlhacomがエラーバソバソ
ドキュメントを読み直したところ
>注意)VBScriptではUnlhaCompressMem,UnlhaExtractMem,定義済み定数が使えません。
_| ̄|○だめですた
307 :
234 :04/03/01 18:47 ID:???
ASPテンプレートクラス、自分で使いながら地道に機能追加中。 とりあえずテンプレート中に if〜else〜endifブロックを記述できるようになりました。 まだネスト不可なんで、ネスト可にしたらまたどっかにうぷして反応みてみます。 でもこれ、自分以外に需要あるのかなあ。 いまごろまだテンプレートエンジンいじってるような進捗状況、スケジュール的に…_| ̄|○
309 :
234 :04/03/02 18:55 ID:???
う、やっぱりあったか。探し足りなかった。 こっちのほうがシンプルだし、dllで軽そう。きっちりネストもできるし、ブロックは行単位じゃないし。 しかもおまけにVectorオブジェクトもついてるし。 ちょうどVectorクラスも自作してたところなんだよなあ……。 Vectorは必要最小限しか実装してないんで、公開はしませんが。 ただ、自作エンジンはテンプレート中にeval()でなんでも埋め込めるんで、 いいかげんだけどそのぶんの自由度はあるかも。
ここって、、Apache::ASPはだめぽ?
Apache::ASPって何?ってレベルの人間ならここに一人いますけど、 基本的に過疎スレなので有用な情報が得られるかはわかりません。 とりあえず何でもいいから書いてみてくださいな。
312 :
308 :04/03/03 19:01 ID:???
ほんとはaspobjectsの存在はだいぶ前から知ってたんだけど、 234さんが熱心に開発されていたようだったので言い出せなかったの…ゴメンネ
>>311 ChiliSoftASPだろ?
使ったことないけど、FileSystemObjectのCreateObjectも模倣して動くらしい
へえ。こんなのあるんだ。 レガシASPからの移行以外に使う人いるんだろうか。
Apache::ASPとChiliSoftASPは違ったような。
Apache::ASPはオープンソースで、フリーに使えた希ガス。
ttp://www.apache-asp.org/ っても、MSのASPでPerlScript使って開発してる例がどれほどあるか、が問題だが。
IIS PerlScriptって確かコメントに日本語使えないんじゃなかったかな……
漏れもApache::ASP使ってみたいけど、WinだとApacheとmod_perlの
バージョンがいろいろややこしくて、環境作るのマンドクセんだよね……
316 :
:04/03/05 10:08 ID:???
フレームを使用しています。ASP内で、自らのTARGETをTOPにする方法はありますか? IISのカスタムエラー設定でASPエラー(500-100)を自作ASPにしているのですが、 フレーム分割したさきでエラーが起こった時も、TOPにエラー表示したいのです。
317 :
:04/03/05 14:51 ID:???
解決しました。以下のJavascriptを吐くようにしました <script type="text/javascript"> <!-- if (top.frames.length!=0) top.location=self.document.location; // --> </script>
やっぱ全然ダメ
ASPエラーのページ自作しる
320 :
nobodyさん :04/03/07 22:53 ID:cvCav3Bn
サーバーマシンを変えてIISをあらたにインストールしたら いままで正常に表示されていたASPが文字化けするようになりました。 具体的には Response.Write "メールが送信されました。" というのが ??????????????? という感じで?の羅列になります。 <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=x-sjis"> は指定してあるんですけど、原因がわかる方いませんか? よろしくお願いします。
もう charset=x-sjis は charset=Shift_JIS でいいんじゃねーの 件の問題はこれとは関係なさそうだが。
>>319 エラーのページは自作していて、
1.デフォルトの500-100のエラーのページのように詳細を出すようにしたい。
2.フレーム分割しておるが、エラー画面はトップに出したい。
この1.2.を満たすのが難しい、ということです。
2は <script language="javascript"> function toTop () { if (window.top.location.href != window.self.location.href) { window.top.location.href = window.self.location.href; } } </script> </head> <body onload="toTop();">
>>323 それだとエラーが発生したASPが2回走ってしまうのです。
それじゃあErrorの時だけTOP表示なんざ無理だわな。
326 :
:04/03/09 14:42 ID:PapKlbMP
質問です ASPで、クライアントがブラウザの×ボタンを 押した場合の検地の方法を教えてください ASPでログインしていて、ログアウトされてしまった 場合、次のブラウザでブックマークで開かれてしまって、 ログインせずにその画面にいけてしまうので、対策が知りたいです すみませんが、ご教授ください
よくわからんが、それはログアウト処理がおかしくないか? Session.Abandon したら次回はログインが必要だと思うが。 あ、それともログイン後の画面の処理がおかしい? 要ログインなページはすべて、冒頭部分に Session変数の有無をチェックするルーチンを入れておくように。 ログイン入力画面をスルーされても、そこではじく。
328 :
:04/03/09 17:15 ID:???
>>327 さま
ありがとうございます セッション処理って
のをやっていませんでした
ログイン処理は、xmlで判定しているだけで、
その後のセッション処理は・・・
ああ 全部の画面にセッション判定を
入れておくんですね わかりました ありがとうございます
時間による、セッション切れはなんとかできそうです でも、やはり×を押してブラウザを遮断してクライアントのセッションが 切れたよって検地しないと、つながったままってこと になりますね ううブラウザが落ちたってサーバがわかる方法ないかなあ
ブラウザのウィンドウ全て閉じたらセッションは切れるはずだが... 他のウィンドウが開いていたらセッション保持しているけど。
331 :
229 :04/03/09 18:06 ID:PapKlbMP
>>330 そうなんですか?他のIEとかが
継続してセッションを保ってるんですか
すごいな
そういうことでしたら、ブラウザ一コでやれって
条件つければ、セッション管理できそうだな
いやあ ありがとうございました ほんと助かりました
332 :
nobodyさん :04/03/09 21:47 ID:cpGa4q71
>>320 basp21 と BinaryWrite 使ってるでしょ?
一旦セッション切ればOK
>>229 あ、いちおう念のため言っておくと、IISでセッションを使うと
アクセスするのにCookie必須になるからね。
携帯対応とかを考える必要があるなら注意。
334 :
nobodyさん :04/03/09 23:07 ID:5BH0aBGM
バイナリーを文字列に変換したいんだけど、
http://www.kcat.zaq.ne.jp/yumenokunisha/develop/bin2str.htm ここのソースコピペして実行してみたんだけど、たまに誤変換で「・」に変換されてしまう・・・
どなたかこのソース修正してくれませんか、
あと、ほかの方法でいいのがあったら教えてください。
Function Bin2Str(byteData)
Bin2Str =""
i = 1
Do While i <= LenB(byteData)
u = Hex(AscB(MidB(byteData, i, 1)))
If ((CInt("&H" & u) >= &H81) And (CInt("&H" & u) <= &H9F)) _
Or ((CInt("&H" & u) >= &HE0) And (CInt("&H" & u) <= &HEF)) Then 'Code Page 932
l = Hex(AscB(MidB(byteData, i + 1, 1)))
intChar = CInt("&H" & u & l)
s = Chr(intChar)
i = i + 2
Else
intChar = CInt("&H" & u)
s = Chr(intChar)
i = i + 1
End If
Bin2Str = Bin2Str & s
Loop
End Function
335 :
334 :04/03/09 23:15 ID:5BH0aBGM
伝え忘れていました、basp21は使えないんです。
>>334 ほかの方法
basp21.Base64()
337 :
336 :04/03/09 23:19 ID:???
遅かった…… _| ̄|○
338 :
:04/03/10 10:50 ID:Srya+a8F
昨日セッションの件で相談したものですが、 またわからない事態が出てきました ASPのログイン画面から別の画面に遷移する場合は セッションは引き継がれてましたが、 別のウィンドウを開いたら、セッションはNothinになってしまいました これ、別のウィンドウにも同じ画面のセッションを引き継がせたい 場合、どうすればいいでしょうか?
339 :
338 :04/03/10 14:28 ID:Srya+a8F
うう だれか教えてください
>>338 普通引き継ぐぞ...
っていうかアプリケーション終了するか、サーバー側で明示的にセッション終了しない限り
セッションクッキー破棄しないはず。
もっぺんスクリプトをよく見直してみてはどうだ?
アイテム名タイプミスしてセッション変数呼んでないか?
341 :
338 :04/03/10 15:18 ID:Srya+a8F
>>340 どうも レスありがとうございます
現在は、ログイン画面ー>メイン画面(どちらも同じブラウザ)という風に移行する場合は、
セッションは引き継がれています
それで、メイン画面から、response.redirectで子供のブラウザを
開くというときなんです
要するに、ログインしていない場合、ログイン画面でセッションは作られていない
から、直接それらメインの子供のウィンドウにお気に入りでいけてしまう
というのが問題なんです
子供のウィンドウでもログインしてるかどうかチェックするだけじゃダメなのか?
なんだかよくわからんけど、 子供ウィンドウではログインチェックやってるのか? If IsEmpty(Session("セッション変数")) Then Response.Write "ログインしろやゴルァ" Response.End End If 要ログイン画面すべて、とうぜん子供のウィンドウでも こういうのを冒頭に仕込む。
344 :
:04/03/10 15:59 ID:Srya+a8F
>>342 >>343 やってます やってます 子供のウィンドウの
頭全部でそのセッションチェックは行ってます
で、ブレークポイントしかけてみたら、
そのセッションが、Nothingになてたんです
ちなみに、recponse.cookiesも同じでしたー
困った
セッションがNothingってよく分からんのだが... 確認だが、親ウィンドウのSession.SessionIDと子ウィンドウのSession.SessionID をResponse.Writeしてみて違う値が表示される? これで違うのが表示されたら漏れには分からん。
あと、 >要するに、ログインしていない場合、ログイン画面でセッションは作られていない >から、直接それらメインの子供のウィンドウにお気に入りでいけてしまう ってのもよくわかんない。 Session変数が引き継がれてないとして、「ログインしてるのに行けない」はわかるけど、 「ログインしてないのに行ける」の?
347 :
:04/03/10 16:19 ID:???
>>345 違いましたー
親ウィンドウがugeyなんとかかんとかで、
子供ウィンドウがrewずらずら
って表示されました なんか普通じゃないんでしょうかね?
348 :
:04/03/10 16:21 ID:Srya+a8F
>>346 そう ログインしてないのに、
お気に入りから直接その画面が表示去れてしまうんです
社内のLANで、端っこのPCがサーバで、そこに
クライアントとしてつないでみても、お気に入りからいきなりその画面が出てしまってるんです
まさかとは思うが、親ウィンドウのスクリプト動いているサーバーと 子ウィンドウのサーバーは同一のサーバーだよな?
350 :
:04/03/10 16:38 ID:Srya+a8F
>>349 同じです 鯖はひとつしかないですし、
親は自分でlocalhostでみてます
そのIPをURLに入れて、クライアントはつないでいます
うー 343のIF文入れて、その直前でブレーク
張ってみても、Nothingって出て、IFの中に入ってしまいますし
どうなってるのかなあ
普通はきっとセッションはブラウザ同士が引き継ぐものなんでしょうね
352 :
:04/03/10 17:09 ID:Srya+a8F
先ほど、子供画面を開くときのASP.NETの コードを見てたら、 servertransferで開くと、きちんとセッションは渡ってました window open で開くと、セッションは渡らないみたいです でも今回のは、server transferを使わないでやることに なってるので、セッションは別の何かの方法で渡さないといけないんでしょうか
353 :
:04/03/10 19:32 ID:Srya+a8F
>>351 こちらアドレスの検証終わりました
IPを親が指定して、子供のアドレスも出しましたが、
クッキーの値が違っていました。 つまり、全然違うクッキーが
引き継がれている?(生成された?)と思われます
ますますわからなくなってきた
IEのセッションクッキーはIEのプロセス(でいいのかな)内のメモリに保持されます。 ショートカットやwindow.openでIE立ち上げると別プロセスなので セッションクッキーも別物になる。 IEの新規作成→ウィンドウ(Ctrl+N)とかだと同一セッションになる。 と思う。 ちなみに寝介ではそういう問題は起きなかったと思う。 ちゃんと検証したわけじゃなく、経験則なので過信しない方向でよろしく。
355 :
:04/03/10 21:12 ID:Srya+a8F
みなさま 今日お騒がせしていた セッション厨房です 解決しました やはり、ウィンドウオープン時の スクリプト記述で、セッションに変なことを 上書きしていたみたいです どうもいろいろ検証くださってありがとうございました
あれ、IE設定で「新しいIEは別プロセスで起動する」って項目 どこいったのかな? これとセッション保持が関係してくるんだったら、 おいらがいま作ってるアプリにも影響してきちゃうんで、 詳しいひと解説きぼん。
358 :
nobodyさん :04/03/11 22:03 ID:HuVlYADX
Visual Interdev とか mse をコマンドラインで行番号指定で起動する方法知りませんか?
359 :
nobodyさん :04/03/12 08:49 ID:eGzfHR4A
ADOやASPってヘルプファイルになってないのかね。 VBScript/JScriptみたいに
360 :
nobodyさん :04/03/12 08:51 ID:eGzfHR4A
ダウンロードできたらいいのに
>359-360 一応MSDN Onlineにあることはあるが……ありゃ読みにくいよなぁ。
362 :
nobodyさん :04/03/22 17:42 ID:F/od+5kG
質問です。 ASP+VBScritpで、時間をyy/mm/dd形式ではなく、10桁のUnix時間で 笑わしたいのですが、どのようにしたらよいのでしょうか? あと、Unix時間で表した場合、変数の型は何になるのでしょうか? やっぱり整数型?
>>362 Unix時間ってのは漏れは知らないのだが、1900/1/1 00:00:00から何秒経過したかって奴?
それならばDateDiff("s", CDate("1900/01/01 00:00:00"), Now())とかで一応出来るのは出来るが。
しかしこれで笑ってくれるかどうか...
UNIX timeは1970/1/1 00:00:00(GMT)が起点だと思う。 GMTの時差も考えないと。 符号付き32bit整数だっけ?それならVBSの長整数型と同じ。 で、IIS/ASP/VBS環境なのに2038年問題が起こって笑わせるってこと?
365 :
362 :04/03/22 18:52 ID:???
>>363-364 ありがとうございます。10桁でしっかり笑えました(藁
_| ̄|○・・・ミスタッチです。
ちなみにVBで調べてたらDateDiffでMSDNに
「2 つの指定した日付の時間間隔を表すバリアント型
(内部処理形式 Date の Variant) の値を指定します。」
とありました。
どうもありがとうございました。逝ってきます・・・。
あうー 誰か、PerlScriptがまともに日本語を通すようにしてくれる神はおられぬか!! ActiveScriptRubyなら日本語通るそうだけどうちの会社スクリプト系言語に詳しい人少ないから (Perlはなんというか、たしなみとして知ってる人はそれなりにいる) 「Rubyで書きたいんです。」「帰れ。」 っつわれそーだし……(それ以前にRuby覚えてないけどな_| ̄|○)
367 名前:□-□) 投稿日:04/03/25 22:10 ID:???
ASPのチャットを使っているのですが、IP制限をしたりプロキシを遮断する方法ってありますか?
もしあったら賜りたいのですが…。
368 名前:nobodyさん 投稿日:04/03/25 23:53 ID:4QNsTO1G
>>367 >IP制限をしたりプロキシを遮断する方法
プロキシは匿名とかあるから分からんが、IP制限ならREMOTE_ADDRで良いのではないか?
Win2KPro+IIS+VIDでASPの開発をしていたのですが、 PCの入れ替えでWinXPPro(NTF)に移行しました。 するとVIDでデバッグの設定を行い実行すると 「サーバーを自動的に正しいデバッグ状態にすることができません。・・」とエラーが出てしまいます。 FrontPageServer Extensionsの設定も触ってみたのですがWin2Kと少し異なっていてうまくいきません。 何か情報をお持ちの方がいらっしゃいましたら教えていただければ幸いです。
質問です。 自分のHPで問い合わせメールなるものを作成する場合、 セキュリティのことも考えてSSL対応と非対応のメール送信プログラムを作成したいのですが SSL対応メールのサンプルがほとんどなくて困っているのですが、 これはそんなに簡単に作成できるものではないのでしょうか? どうしても作成してみたいのです。 是非、ご存知の方、教えてください。 よろしくお願いします。
>>369 SSLに対応したプログラムというのが認識違い
SSLはWebサーバとの通信経路を暗号化するだけなので
IISでSSLの設定すれば、sendmailプログラムは同じ物でよい
371 :
nobodyさん :04/04/01 22:19 ID:374fK3Er
>370 ありがとうございます。勉強になりました
素人的な質問になるかもしれなですがご勘弁を・・・。 Functionの関数をいろいろなページで使い回す方法ってありますか? (com以外で) JavaScriptの外部スクリプトの様に・・・。
scriptタグでrunat=serverにしてFunctionを書いたaspを指定する手もある。 <script language="VBScript" runat=server src="hoge.asp"></script>
>>373 よくわからないのでこれから調べてやってみます。
>>734 こっちの方がわかりやすいのでやってみます。
できるかな・・・。
376 :
372 :04/04/02 13:18 ID:???
>>374 できました!!感謝感激です。マジありがとうございます。
377 :
nobodyさん :04/04/02 21:12 ID:UEVZ+Cnz
すみません。私に一つご教授お願いいたします。 JavaScriptのdocument.cookieでクッキーに書き込んで ASPのRequest.Cookiesでクッキーを取得するって一般的ですか? A→B Aで値をテキストボックスに入力しその情報をBで表示 A←B Bから戻る際、「A→B」で呼ばれる時に入力されていた Aのテキストボックスに値を戻す。 と、言う流れをやる場合に、クッキー利用するかと思ったのですが、 JavaScriptで書きASPで取得って良いのかなと 思い質問させていただきました。
>>377 扱うデータにもよるんじゃないか?
ちょっとしたデータならCookieでやっちゃうし
データが多かったり、漏れたらまずい情報(個人名とかパスワードとか)
だったらSession変数使うよ。
HTTP エラー 405 405 メソッドは許可されていません Request Line に指定されたメソッドは、要求によって識別されたリソースでは許可されていません。 要求するリソースに適切な MIME タイプが設定されていることを確認してください。 この問題が続く場合には、Web サーバーの管理者に問い合わせてください。 HPでASPを使ってメール送信できるようにしたのですが、 Netscapeで実行したら上記のメッセージが出ました。 これはどういうことなのでしょうか?
レガシASPで開発されている方々はモデルとビューの分離をどうやって 実現しているんでしょうか。 できればMVCっぽく実現したいんですが、いい方法はないでしょうか。 RequestスコープでSession.Contentsと同じような感じでユーザ定義の オブジェクトを持ち回れればいいんですが、調べた感じではムリそうです。 ちなみに、今まで仕事で見てきたソースはほとんどロジックとビューが合体してて、 見てて泣きそうになるものばかりでした。 スマートに解決している人たちはどうやっているのか知りたいです。 よろしくお願いします。
>380 ぜんっぜんスマートじゃないが、「こんなバカな解もある」くらいに思って読んでくれい。 ・「ユーザ定義クラス群の基底クラス」を作る。 内容はScripting.Dictionaryをラップし、それプラス - キー&値のペアの配列を要素に持つ配列(VBScript配列ね)を生成する - 上の配列からキー&値のペアを復元する 機能を持つ。 ・上のクラスに機能を委譲する形でガンガンクラスを定義する。 プロパティの類は、全部上のクラスのキー&値で実現。 ページ間で持ち回すときは、配列化してSession.Contextへ格納、 別ページの頭でSession.Contextから復元。 で、具体的にページではどうするかってーと、 hoge.aspを前処理・ビュー・後処理に分け、ビューはhoge.htmlをインクルード。 hoge.htmlには必要最小限の変数と、動的行生成程度のロジックを残し、 後はhoge.aspで片付ける。 ではモノホンのスーパーエンジニアの登場を期待しつつ逝ってきます。
382 :
380 :04/04/03 22:50 ID:???
>381 はあ。なるほど。 自分もそんな感じで、includeの代わりにServer.Transfer使って実装を試したりしてました。 ただ、イマイチServer.Transferの使いどころが分かってないんですが。 自分の場合、複数リクエストにまたがる場合のことは考慮してないんで 実用的かは分かりませんがこんな具合です。 誰か添削してください。 hogeControler.asp---------- '前処理 Set model = New HogeModel1 'ビジネスロジックを実行 model.doSomehing '画面表示する項目だけのエンティティクラスを取得 Set entity = model.GetEntity 'セッションにセット Set Session("一時的なキー") = entity 'リクエストを転送 Server.Transfer "hogeView.asp" hogeView.asp---------- Set Entity = Session("一時的なキー") 'Entityを使って表示with必要最低限なロジック Session.Contents.Remove("一時的なキー")
>382 添削っつーほどのことでもないが、それ実際にやってみた? 多分、hogeView.aspではEntityのプロパティもメソッドも呼べなくて どーしよーもなかったんではないかと思うんだが。 (単なるPublicメンバ変数はどうだったか忘れた)
>383 とりあえずPublicメンバにはアクセスできましたよ。 Property Getとメソッドはめんどくさくて試してないです。 Sessionにセットするときのクラスは表示するためだけの構造体みたいな もんだと割り切って使ったもんで。
385 :
384 :04/04/04 01:25 ID:???
追加で。 Sessionにユーザ定義クラスのインスタンスをセットしても メソッドもProperty Getも正常に動きました。 どうやら1個のリクエスト内ならちゃんと動くけど複数リクエストに またがると動かないようです。 Sessionの意味ねーじゃん。なんなんでしょうか。 とりあえず検証に使ったソース置いていきます。 hogeControler.asp <!-- #include file="hogeModel.class" --> <% Dim model Set model = New HogeModel model.DoSomething Set Session("HogeModel") = model '動く Server.Transfer("hogeView.asp") '動かない 'Response.Redirect("hogeView.asp") %> 続きます。
386 :
384 :04/04/04 01:32 ID:???
つづき hogeModel.class <% Class HogeModel Public Hage1 Private privateHage2 Private privateHage3 Public Sub DoSomething() Hage1 = "Hage1" privateHage2 = "Hage2" privateHage3 = "Hage3" End Sub Public Property Get Hage2() Hage2 = privateHage2 End Property Public Function GetHage3String() GetHage3String = privateHage3 End Function End Class %> hogeView.asp <% Dim model Set model = Session("HogeModel") Response.Write model.Hage1 & "<BR>" Response.Write model.Hage2 & "<BR>" Response.Write model.GetHage3String() & "<BR>" Session.Contents.Remove("HogeModel") %> 以上です。
387 :
nobodyさん :04/04/04 13:02 ID:o+LU0J3w
4月1日に入社し、ASPの課題を与えられたのですが、 今までプログラム経験が全くなく、ネットワーク知識ゼロの自分はなにから始めればいいのですか? データベースにアクセスし読み書きできるようにしたいんです。 まずHTMLの知識がなければどうしようもないですよね? 結果的に、htmLとVBScriptもしくはJavaScriptを扱えるようになればいいんですか? よろしくお願いします。
388 :
nobodyさん :04/04/04 13:29 ID:tshbcPU+
がんばってね。 どんなカリスマも始めは初心者。
>387 HTMLよりVBScript、ASPとADOのオブジェクト構成かな。身につける優先度としては。 というか、ヘルプ(MSDNライブラリ)の引き方を覚えるのが最優先。がんがれ。
390 :
新入社員 :04/04/04 16:26 ID:De/FlG6s
>>389 …ごめんなさい。もう少しわかりやすくお願いします。
それと、どのくらいの期間で完成させるべきだと思いますか?
お願いします。
>390 うわ。分からないときに質問できる先輩社員、近くにいないの? とりあえず、MSDNライブラリってのがインストールされてないかな。 それが総合解説書だから、まずそれの使い方を(ざっとでいいから)覚えましょう。 で、次はASPの簡単なサンプルを実際に動かしてみる。データベースへの接続とか いう話は、ASPについて「なんとなく分かったような分からないような」つもりになって からでOK。(ちなみに398の「ADO」ってのはデータベースとやりとりするための 仕組みだと思っておいておくれ) 期間については、それこそ課題をくれた人に聞くべし。課題についてどの程度時間が あればできそうだ、って見積もりはまだ自分ではできないでしょ。
>>391 ありがとうございます。
先輩社員はほとんど外に出てて、会社には社長と取締役と営業の方しかいないので…。
一応ASPの本を買ってサンプルは動かしてみたのですが、
そのプログラムは自分で本を見ずに作成できるようにならなければいけないですよね?
やはりHTMLは必須ですよね?そしてVBScriptも。
やらなけりゃいけないことが増えていって、全て理解するには果てしなく時間かかりそうで…。
お先真っ暗です。
>392 むむむ、これは最初に勘違いすると大変だから >そのプログラムは自分で本を見ずに作成できるようにならなければいけないですよね? んなこたーない。丸写しは勿論(・A・)イクナイ!! が、ぐぐってヒットしたソースを参考にしたり、 なんてことは多くの人がフツーにやっている。そうして探す頻度が高い事柄はそのうち 自然に頭に入る。そんなもんだす。気楽にやりなされ。 VBScriptは確かに必須。でも、必死にならんでいい(と思う)よ。 とりあえず勇気を振り絞って、課題の期限をはっきりさせておきなされ。 ……もう明日でいい(と思う)けど。
>>393 そうなんですか!知らなかった…。
とりあえず、課題については明日聞いてみます。
ありがとうございました。また来ます。
ていうか、月曜日から5日間耐えられるか心配だ…。
学生時代に戻りたい…
>394 ガンガレ。慣れればどうにでもなる。 しかし、PG経験なしでいきなりASPってどうなんだろうか。 とっつきは良いとは思うんだけど、最初に覚える言語がVBの サブセットってどうなんだろ、と思ってしまうんだが。 開発環境なしで簡単に動くもの作れるから、それはそれで 正しい選択肢なのかなあ。
Webアプリが作れて、セッション管理をサーバでやってくれて、 スクリプトでひょいっと書けるからコンパイラだのいった環境も必要ない。 という点ではレガシASPはいわゆるWeb系開発者の初歩としては よく見えるのかも知れない。だったらPHPでいいじゃんとも思うが、 多分PHP使える人が少ないんだろう……
>385に関するレスが全然ないのが気になる。 自分が経験したプロジェクトでもクラス使った処理なんて リモートスクリプトぐらいしかないし、ユーザ定義クラスなんて 使われてないのかなあ。 皆さんのプロジェクトではユーザ定義クラスって使ってます? 主観ですけど、なんか不当に敬遠されてる気がするんですよねー。
マルチでごめんよ 商品一覧ページを作るとして、名前、写真等で構成される 個々のブロックをItemInfo.ascx、配置を行うItemInfoContainer.ascx という感じに作ったんだけどItemInfoContainerの中で <Ucl:ItemInfo name="<%=name%>" runat="Server"> こんな感じに書こうとするとItemInfoのnameに「<%=name%>」という 文字が入ってしまうんだけどこういう動的な値をプロパティに 設定したい場合はどうすれば良いのでしょうか。 そもそもこういう感じにascx使うのが間違ってるのかなぁ?
今日は全然進まなかった…でも疲れた…。 とりあえずHTMLに入力したのがASPで表示できるようにはなりました。 やっぱりVBScriptの本て買ったほうがいいですよね? ASPの本は買ったけれど分かりにくいんです。 まぁとりあえず今日は少し早く寝れそうで良かった。 なんかパソコンを仕事で、ずっと触ってると嫌いになりそうですよね。 今週はあと4日だ。
>>398 自己解決
<Ucl:ItemInfo name="<%# name %>" runat="Server">
データバインドって便利だな
>>400 がんがれ!
402 :
nobodyさん :04/04/06 20:39 ID:/6+N4hGp
最近ASP始めたばかりで厨な質問だと思うんですが VBScriptのSubプロシージャでhtml部分も含めて部品化して 呼出そうとしたら上手く行くパターンといかないパターンに なぜか別れます (エラーの詳細なメッセージは出ずに単に表示不能になる) そこでFunctionプロシージャにするとなぜか上手く表示出来ます (特に返す値はないけど) これって何か宣言が足りないんでしょうか?
やばい…行き詰まってしまった…。明日からどうしよう…。 なんか焦ってしまってダメだ。 とりあえず今日も早く寝ないと、キツイです。 明日は楽しみにしていたミスチルのアルバムが手に入るから、とりあえず頑張ります。
405 :
+++ :04/04/07 00:12 ID:???
>>400 >なんかパソコンを仕事で、ずっと触ってると嫌いになりそうですよね。
ずっと触ってるくらいじゃ嫌いになりはせんわ。
伸ばした納期が来てバグは取れない眠気で死にそうコードはごちゃごちゃ
上司はイライラ、そんなお前がこんな仕事取ってくるから俺がこういう目に・・。
というような状況になったら嫌になるだろう。
>403 困ったら調べろ。使えそうなところは理解した上で丸々コピれ。 動いてるものをコピればバグは出ない。 でも、そろそろスレ違いだな。ここはキミの日記じゃない。 仕事の愚痴じゃなくてASPの技術的なことを話題にするように。 具体的に書けば解決策は大体先人が教えてくれます。たぶん。
>397 漏れはクラスびしばし作って使ってるよ。>385ほど、綺麗にDTOっぽく分け切れてないけど。 Newのコストとか最初は気になったが、そんなに恐れるほどのこともない。 Newどころか、持ち回しするデータは381に書いた通り、配列化して格納-復元なんて 恐ろしくコストのかかることやってるしw ストレステストをやったらどうなるかちょっと怖いが、当面それほどアクセス数が見込まれない らしいから、今回はこのまま突貫の予定。 もっともいろいろと癖があるけどね……383にも書いたんだが、基本的にCOMのコンテナ オブジェクトには、ClassをNewしたインスタンスを入れてはいけない(同じページスコープ 内でさえ、取り出したらメソッドが呼べなくなっている)。逆も同じ(クラス内の変数に メソッド経由でRecordsetなんかSetしたら、後で取り出したときポカーンとするハメに) これについてはJScriptのユーザ定義オブジェクトに関してMSDNに類似の注意書きがあるから 参照よろ。 あと継承じみたことをやろうとすると、多重インクルード防止機構がないのが痛い。 おかげでページの先頭にはいつもいつも山のような#Includeが並ぶことに…… (そこはJScriptだと@ccとか使ってウマーなんだけどなぁ) もっとも、今頭を抱えてるのは、調子に乗って作りまくった約50のクラスを自分でも把握できなく なりつつあることだが_| ̄|○
>>402 >上手く行くパターンといかないパターンになぜか別れます
ソースうpしろ。ここにいる人間はエスパーじゃねぇからそんな質問じゃ何も答えられない。
409 :
nobodyさん :04/04/08 23:39 ID:L/po8Xrw
>>408 すんませんでした
あれからよくソース見比べて共通点探したらJavaScriptが原因でした
ASPとJavaScriptが共存してるとSubプロシージャをCall呼出し
しないとダメみたい
ASPとJavaScript・・・・ ! ?
411 :
402 :04/04/09 00:59 ID:wLjiBB06
>>410 何かやり方的におかしかったでしょうか?
元々前の担当者から引継いだASPで入力チェックをJavaScript
でやってたんですが負荷の分散の意味でもいいかと思って
そのまま置いてました
それともASP一本でいった方がいいんでしょうか?
412 :
410 :04/04/09 01:21 ID:???
あ、いや、クライアントサイドのJavaScriptがサーバで動くVBScriptの Function呼び出しになんで関係あるのかなあと不思議に思っただけで。 文章に曖昧なところが少々あるので想像で書くが、 クライアントサイドのJavaScriptで入力チェックをするのは正道だと思います。 でもそれは、明らかに不正な入力をリクエスト前にはじくために補助的に有効 なのであって、それだけでチェック処理を完了させてはいけません。 サーバサイドでも当然同様のチェックを行う必要があります。 サーバサイドのリクエスト内容チェックが絶対必要であって、クライアントサイドの 入力チェックは補助的なものだと考えたほうがいいと思います。 見当ハズレだったらスマンね。
413 :
410 :04/04/09 01:42 ID:???
ついでに402についても言及しとくと Functionで動いてSubで動いたり動かなかったりする。 Callをつけると動く。 という部分を見ると Visual Basic 6.0 では、Function 呼び出しの引数リストをかっこで囲む必要があります。 Sub 呼び出しでは、Call ステートメントを使用する場合はかっこが必要ですが、 そうでない場合はかっこを使用しません。 という基本的な項目が思い浮かびます。 testSub1(param1) は動くのに testSub2(paramA, paramB) は動かない とかいう状況ならそれっぽいが。 あと、Responseに何も出力してないとエラーの詳細はブラウザには出ません。 IISのログには出ますがそれは見ましたか?
414 :
nobodyさん :04/04/10 00:37 ID:Ae8JmJNM
私の会社はインターネットには接続されていませんが LANは有効です。 こういう環境でもASPは動きますか?
>>414 バッツリです。
それどころかネットワークにつながってなくても
PCにIISが入っていればASPは動きます。
416 :
nobodyさん :04/04/10 11:15 ID:Ae8JmJNM
>415 ありがとうございました
417 :
nobodyさん :04/04/24 20:11 ID:QH0HzCev
掲示板やチャットなどのaspを配っている サイトってないですか?
419 :
nobodyさん :04/05/01 08:36 ID:76bzEXk5
教えてください。 Webサーバ : IIS5.0 DB : Access2002 [送信]ボタンをクリックしてPOSTされたデータをDBへ書き込みたいと思っています。 ---------------- 2台のPCで同時に[送信]ボタンを押してしまうと次のエラーとなります。 『The Microsoft Jet Database Engine エラー 80004005 '' は既に使用されているので、使用できませんでした。』 これは、1人目がDBをオープンしているから2人目はオープンできないよっていうエラーだと思います。 AccessってDBがクローズされるのを待って書き込みにいってくれないのでしょうか。 2人同時にDBへ書き込めるようにしたいのですがどうすればよいのでしょうか。 ---------------- 以下のようなソースを書いています Set connection = Server.CreateObject("ADODB.connection") uri = "Provider=Microsoft.Jet.OLEDB.4.0;" uri = uri & "Data Source=" & "C:/hogehoge.mdb;" uri = uri & "User ID=;" uri = uri & "Password=;" connection.Open uri connection.Execute(sql文) 'INSERT文 connection.Close Set connection = Nothing ---------------- Openの仕方が悪いのかと思い、オプションで以下を指定したりしましたが駄目でした。 connection.Mode = adModeShareDenyNone connection.Mode = adModeReadWrite connection.Mode = adModeShareExclusive DBへのIUSRアクセス権はフルコントロールにしています。
ちゃんと閉じているか? ちゃんとApplication.Lockしているか? Accessなんかつかうんなら、Accessへのアクセスは直列化しないとだめだぜ
ASPで書かれたソースを携帯からも見られるように 移植しようとしてます。今,FORMの INPUTタグでonclick=入力チェック関数名と書いて,入力値チェックしてるのですが, i-modeだと,onclick属性が使えないらしいです。 何かいい方法ってありますか? submitして呼び出す先のASPでチェックするしかないですか?
>>421 Webが何もわかってないお前には無理な話だ。
あきらめれ。
はあ,ごめんなさい
424 :
nobodyさん :04/05/03 17:52 ID:Ms49IDTN
422は、ハタシテ何を分かってるんだろ? また運を使い果たして可哀想な人。
私は422ではありませんが、 ASPが出力した結果のHTMLがクライアントでどういう挙動を するかなんてサーバサイドとは本質的に関係ないからそもそもスレ違い。 さらに言うと、 携帯から見られる=インターネットに公開されてると仮定して言えば、 そのASPがどんな機能か知らんが、ポストされたデータを サーバサイドでチェックする処理が元々入っていないなんて 普通は考えられない。 という意味で>422の発言は(言い方は悪いが)妥当であると思いました。 あと、こんな過疎スレで聞いてもしょうがないよ。と思いました。
426 :
nobodyさん :04/05/03 23:52 ID:J0aa2c9V
Accessってweb連携するには向いてないのかな テストで連続投稿したりしてみるとよく419みたいなエラーで書きこめなくなる レコードセットもコネクションもちゃんと閉じる処理してるんだけど MySQLなんかだと問題ないんだけど
Webに向いてないっていうより、マルチユースに向いてないのでは? WebでAccessなんて使ったことないからわかんないけど。
>426 素直に(?)MSDEにしとけばいいのでわ。
430 :
nobodyさん :04/05/04 13:05 ID:b36PUwr8
>>419 1. C:\
2. id, passwordはいらない
3. ADDB.ConnectionでInsertするのは辞めた方がいい
adrsを使った方がいい。で、adrsは3,3,1(2)でオープンした方がいい
431 :
nobodyさん :04/05/04 17:04 ID:W4zc5XPD
質問させて下さい。
indexページでキャリア判別を行って、各キャリア別のページに
リダイレクトさせたいのですが上手く動作しません。
ソースは以下の用に記述しました。
<%@ LANGUAGE=JScript %>
<%
Response.Buffer = true;
var ua = new String(Request.ServerVariables("HTTP_USER_AGENT"));
if((!blauza.match("UP.Browser")) && (!blauza.match("DoCoMo")) && (!blauza.match("J-PHONE"))){
Response.Redirect("
http://www.PC版.htm ");
}
if(ua.match("DoCoMo")){
Response.Redirect("
http://www.iモード版.htm ");
}
if(ua.match("UP.Browser")){
Response.Redirect("
http://www.EZ版.htm ");
}
if(ua.match("J-PHONE")){
Response.Redirect("
http://www.Voda版.htm ");
}
%>
blauzaって何よ?
433 :
431 :04/05/04 17:16 ID:W4zc5XPD
ごめんなさい。 「blauza」を「ua」に置き換えてみて下さい。 質問用に変数名変えたんですけど、一箇所変え忘れました
434 :
431 :04/05/04 17:50 ID:W4zc5XPD
ごめんなさい。自己解決しました。 単に変数名を書き間違えてました。 ゴメンナサイ
435 :
nobodyさん :04/05/04 18:05 ID:b36PUwr8
>430 びんじょさしちくり ADOだとCommand作って直でSQL投げるより 更新可能なレコードセット作っておいてAddNewとかUpdateとかするもんなの? こないだまで組み込みSQLの世界にいたもんでどうもその辺の流儀(?)がよく分からなくて。
>430 びんじょさしちくり ADOだとCommand作って直でSQL投げるより 更新可能なレコードセット作っておいてAddNewとかUpdateとかするもんなの? こないだまで組み込みSQLの世界にいたもんでどうもその辺の流儀(?)がよく分からなくて。
ぐは、連投申し訳ない。
439 :
nobodyさん :04/05/05 13:06 ID:63Il5XCN
>>436 処理の速さ
adcd.Execute > adrs.Update > adcnでSQL実行
ロックとかの融通性を考えた場合
adrs.Update > adcd.Execute > adcnでSQL実行
かな。もちろんselectなのかWriteなのかにもよるんだけどね。
>>387 の新入社員と似たような状況の者です。
小企業で周りに聞ける人がいない。
mdbを扱ったとき、クライアントによって「読み取り専用...」の
エラーメッセージが出てmdbをさわれません。
mdbそのものはゲストで触れるように権限を出していますが
考えられる原因はどこにあるでしょうか?
441 :
nobodyさん :04/05/06 22:51 ID:g8eNtjDm
>>440 Guestっていうか、IUserでだったと思うから
とりあえずEveryoneに対して解放した方がいいかも
442 :
nobodyさん :04/05/08 17:46 ID:RWoB4aPo
当方Flashインターフェイスのサイトでwmv形式の動画の配布を行っています。
Flashでは右クリック→保存ができないので、ZIP圧縮したものをアップして、
左クリックで保存してもらっています。
しかし、解凍作業が面倒ですので、左ワンクリック→保存というふうにしたいです。
そんなとき、
ttp://www.rizm.net/usrplay/?USRID=2516&MFID=19123 こういうとこを見つけたんですが、ここのように左ワンクリックで
ダウンロードできるようにしたいです。
他の板で聞いたところ、これはaspと呼ばれるサーバプログラミングであると
教えていただきました。
ASPの本を買って勉強すれば、Flash上のボタンでも左ワンクリック保存ができるでしょうか?
サーバによってはできない、など、注意すべきことがありましたら教えてくださいm(_ _)m
>>442 できるよ。ASP使うならサーバはもちろんWindows + IIS でね。
HTTPヘッダーを追加すれば良いだけなので、
サーバ設定をいじればASP書かなくてもいいんだけど。
444 :
nobodyさん :04/05/08 19:11 ID:RWoB4aPo
>>443 すみません、詳しくお聞きします。
>ASP使うならサーバはもちろんWindows + IIS でね
現在infoseekのサーバをレンタルしているのですが、それが
Windows + IIS でなければASPは使えないということですね?
>HTTPヘッダーを追加すれば良いだけなので、
>サーバ設定をいじればASP書かなくてもいいんだけど。
できればASPを書かない方法でやりたいところですが、
この「サーバ設定をいじれば」というのは具体的にどういうレベルでいじるのでしょうか?
サーバ管理者でないとできないことでしょうか?
それとも僕のようにレンタルしている人間ができるような設定でしょうか?
445 :
440 :04/05/08 19:13 ID:???
>>441 ありがとうございます。
アクセスできるようになりました。
でもなぜゲストだけでは書き込めないユーザーがいるんだろう...?
>>444 - サーバ上でMIME設定をbinaryに変更する
- ASPが使える場合、basp21
どちらもレンタルサーバは厳しいかも
apacheの場合は触らせて貰えるかもね
>>445 Guestに対して解放しても、対応するのはGuestユーザのみだから
結局Guestはユーザであってグループではないということ
>
>>444 infoseek はUNIX鯖みたいだから ASP はアウト。
apache で、かつ .htacess が許可されていたら
.htacess ファイルにMIME設定を書けるはず。
それもダメなら infoseek は Perl CGI 使えるらしいから
Perlスクリプト書きなはれ。
>>446 ありがとうございます。
>>448 やっぱUNIXはだめなんですね。
.htacessでMIMEをいじっても、クライアントのブラウザによっては効果がない
ことがあると聞きました。
IEがひどい仕様だそうで・・・
Perlで左ワンクリックダウンロードができるんですか??
Perl CGIは現在動かしているのでできます。
しかし、どのようなものを書けば良いか見当がつきません。
大雑把でかまいませんので、どういった処理をさせるか教えていただけませんか?
452 :
nobodyさん :04/05/10 11:37 ID:eZPFP0x6
ネットのサークルを運営していて そこの入会申し込みの流れをこんな感じでやってます。 入力フォーム→BASP21→申し込み者と管理人にメール これだと、申し込み時に必ずメルアドを入力してもらう事が必要になってしまいます。 その為か、最近入会の申し込みがめっきり減ってしまいました。 以前はmailtoリンクで作っていたので、手軽に送信できるせいか、 それなりの入会数や問い合わせがありました。 ただmailtoの場合は、(特に携帯からの)必要事項の記入が無い、空メールが非常に目立ちました。 formを使ってから、確かに空メールは無くなったのですが・・・・。 何か上手い対応策、またはクライアントのメルアドを取得する方法などありましたら、 教えて下さい。
>>452 ありませんよ。
そんなことができたら大変。
>>453 それはありえません。
どなたかわかる方お願いします。
455 :
nobodyさん :04/05/10 16:44 ID:MU9v+tcT
ヴァカ晒しage
456 :
しがないSE :04/05/10 17:08 ID:cDmq76NT
諸兄方 スレ違い&既出問題の場合誘導お願いします。 当方IISにてWebサイトを構築しているものですが、レスポンス向上対策として GZIP圧縮転送の設定をIISに施してみました。 そこで、aspファイルがクライアントのIEにキャッシュされてしまう問題が発生しました。 プログラム構成上下記コードを記述しています。 Response.AddHeader "Pragma", "no-cache"'キャッシュ非使用をヘッダに追加 Response.AddHeader "Cache-control", "no-cache" Response.Expires = -1'有効期限を負にし、強制的に期限切れへ Response.Buffer = True
457 :
しがないSE :04/05/10 17:08 ID:cDmq76NT
環境 Windows2K SP3 IIS5.0 IE6 SP1 クライアントキャッシュされる問題は、MS03-048パッチがあたっていないIEで発生すること までは分かりました。 動作確認をしたところクライアントのキャッシュ領域に確かにASPファイルがキャッシュ されましたが、そのキャッシュファイルを使用し動作していないように見られました。 この場合RFC2616 14.32 Pragma指示子の動作によってクライアントキャッシュを使用せず、 再度リクエストを投げる動作をIEが行っているように見られます。
458 :
しがないSE :04/05/10 17:09 ID:cDmq76NT
当方の確認は問題を起こすIEで動的ページを表示させキャッシュされたものを使用するか? パケットモニタリングツール(FreePeek)を使用し200レスポンスがサーバから帰っているか? の2点で確認いたしたところ、クライアントキャッシュを無視し且IISから200レスポンスが 帰っているところまで確認いたしました。 動作としては問題ないようなのですが、類似の問題及びRFC2616 14.32 Pragma指示子 の解釈をしないケースが無いか?について悩まれた方が居ればご助言いただきたく 長文失礼しました&宜しくお願いします
>>454 IPからメールアドレスがわかるとでも?
>>453 の言っているとおり、そんな事ができたら大変な事になる。
スパム業者はうはうはだろうな(w
>>452 > これだと、申し込み時に必ずメルアドを入力してもらう事が必要になってしまいます。
> その為か、最近入会の申し込みがめっきり減ってしまいました。
その程度のサークルかよ
>>459 ここにいるのはIPとか言ってる役に立たないクズばかりですね。
もういいです。
>>461 Apacheスレとどういう関係が?
君がやりたいのは、フォームにユーザがメールアドレスを書かなくても、
クライアントのメルアドを情報として入手したいんでしょ?
HTMLやJavaスクリプトを含めたWebプログラムには、共通のセキュリティポリシーというものがあって、
クライアントの内部情報を読み取ったり、書き換えたりは出来ないようになっています。
以上の事柄を踏まえた上で、俺は今回のあなたのやりたい事と同様の動作をするプログラムを知っています。
コンピュータウィルスです。
それはありえません。 誰か分かる人お願いします<(_ _)>
465 :
452 :04/05/11 11:05 ID:fGMzUcRT
答えて下さった方々、ありがとうございました。 自分でもこんな事できたら、スパム業者はみんなやるよなってのは 思ってましたw ただ、メーラーソフトって、立ち上げると自動的に「mail to欄」に 自分のアドレスが入るじゃないですか。 だからWeb上でも認証ボタン押しただけで記入の手間が省ける 何かがないかなぁと思ったんですが・・・。 460さんにも言われてしまいましたが、入力の手間程度で 入会者が減るようでは、ホント「その程度のサークル」ですね。 サークル自体の充実活性化も、もっと頑張ります。 ところで461は僕ではないですよ。
>>465 >立ち上げると自動的に「mail to欄」に自分のアドレスが入るじゃないですか。
それは、Localにインストールされたプログラムだから、規制が無いのでできる芸当です。
前述のとおり、ASPやServletのWeb系では、そのような事は不可能です。
467 :
nobodyさん :04/05/12 17:47 ID:zlsB9+9+
現在WEBサーバ(社内・専用サーバ)として独自ドメインを使っているのですが、 近々Lanの中の別マシンにメールサーバを立てる事を予定しています。 下記のような目的を達成するのに当たり、オススメのメールサーバがあれば 教えていただきたいのですが。。 ※環境はWindows2000Server,IIS5.0です。 ■目的 1.アカウントを複数発行(100〜2000アカウント程度)する。 2.特定のアカウントに対してのメールの着信をプログラムで監視して、着信があればその内容を読み取る。(ASP.NETを予定)
469 :
nobodyさん :04/05/22 22:22 ID:G+A7/Kaf
ファイルにタブ区切りまたは、カンマ区切りでデータが入っている テキストファイルをASPから読む場合、どのように記述したらよいのでしょうか? 下記のように list.txt には、カンマ区切りでデータが入っています。 list.txt 1,AAA 2,BBB 3,CCC このデータを取得し、表示する方法を教えてください。
>>469 ぐぐればいくらでもサンプルが見つかる。
コード1行さえ書かずに丸々教わろうとするようなやつはやめちまえ。
>>469 じゃあメソッドを全部書いてあげるね。親切すぎてゴメンね。
CreateObject
OpenTextFile
Read
Split
Close
472 :
nobodyさん :04/05/25 11:17 ID:7PIn4EZp
初心者質問スレから誘導されてきました。 VBScriptでデータベースをWebに表示するプログラムを書いてるんですけど、 表示したデータを並べ替えたりPageSizeで区切ったページを切り替える場合、 レコードセットを保持したまま操作するのがいいのか、それともその都度 レコードセットを作るのと、どちらがサーバーに負荷が少ないでしょうか?
>>472 保持したまま操作するというのは、RecordsetをSessionに格納するというということだと思うけど、
それならば「切断されたレコードセット」をSessionに入れるようにすると良いです。
接続を保ったままSessionに入れるのは、絶対にやめたほうが良い。
>472 更に言えば、GetRows()で配列化して持った方が多少ASPフレームワークに優しい。 でも、ページ分けするほどのデータなら、DBをこき使った方が最終的なレスポンスはいいんじゃなかろうか。 そもそも、 Microsoft製のデータ保持COMコンポーネントでSessionに入れていいのは FreeThreadedDOMDocumentだけ こちらが確認のURLです。……ってしたかったんだけどどこだか忘れちまった_| ̄|○ 要はコンポーネントのスレッドモデルの問題。その話はMSDNにも書いてあるから読んどくれ。 ちなみに、 Scripting.Dictionary × ADODB.Recordset × 素のMSXML.DOMDocument × COMコンポーネントを使うときはページ内のみに留めてください (Sessionに入れられるDictinaryと、素のVB配列より楽に延び縮みさせられるVector、 探し回ればおっこちてるけどね。Caprock Dictionaryで全言語ぐぐっとくれ。)
475 :
472 :04/05/26 01:56 ID:fNiyqIUJ
>>474 おぉ〜詳しくありがとうございます。
それほど負荷がかかってる様子ではないですけど、同時に
20クライアントぐらいアクセスしてきたらやばいのかな…、
などと思いサーバの負荷を気にしだしたんです。(ちなみにSQLServerを
使う予定)
もしかして、20クライアントなんて気にするほどの数じゃないんですか?w
>475 正直、いくらなんでも20クライアントのアクセスで悲鳴を上げるようなら そのマシンは不特定多数相手のサーバには向いてないと思う…… 社内イントラのファイルサーバあたりにリストラ(嫌な響きだな……)しる。 ちなみに確かMS謹製のWebサイトストレステストツールが無償配布されてる記憶が。 それもMSDNを「ASP」で検索したら多分見つかる。
477 :
472 :04/05/27 12:30 ID:???
>>476 実際テストした訳じゃないので漠然とした不安を持っていました。
テストツールがあるなら早速使ってみたいと思います。
478 :
nobodyさん :04/06/05 02:43 ID:ujAxFTwe
むしろHTTP_USER_AGENTがらみの話になると思うのですが、携帯電話に関するスレが無かったので、こちらに質問させていただきます。
さて、今時新規でASPを組むことになりました(苦笑)
携帯がらみのサイトなのですが、端末の固有識別番号を拾う必要があるかもしれません。
J-SKY(Vodafone)やauは結構(ロジック的に)綺麗に拾えるようですが、DoCoMoは機種ごとに結構複雑なようです
http://www.nttdocomo.co.jp/p_s/imode/tag/utn.html 一応、現在は
(1)HTTP_USER_AGENTから「ser」という文字列を探す
(2) (1)の後ろで「;」という文字列を探す(無ければ最後尾まで識別番号と見なす)
(3) (1)〜(2)をMidで拾う
としていますが、他にDoCoMoの固体識別番号を拾うロジックがどこかにあれば教えていただけけないでしょうか?
理想はASPですが、PHPやPerlでもOKです。Javaは……移植できるかなぁ(^^;
(それを言い始めたらPHPやPerlだって一緒ですが(苦笑)
>>478 識別番号拾うためにはユーザに操作してもらわなあかんぞ
>>478 utn付けない場合は勝手に送られるのかな?
まぁ、この程度の文字列操作だったらそんな感じで強引にやった方が良いと思うよ。
敢えて言えば文字数が一定なのを使った方がいいとおもうけど。
スマートにしたいのも分かるけど、1行で拾える程度じゃん。
すまん。FOMAとPDCで桁数が違うんだね。
482 :
478 :04/06/06 23:00 ID:???
お返事が遅くなりました
>479
ええ、そこが悩みの種なんですよね。Vodafoneは一回設定してもらえばOKですが、DoCoMoは送信するたびに許可を求めてきますから……
>481
でし(T_T) まぁ、
>>478 でどうにかなると思うんですが、他に「ser」という文字列が入る可能性も無くはないですからね。それがちょっと心配です。
483 :
nobodyさん :04/06/14 22:02 ID:DCIbC5r/
ASPでDBからxlsに出力するプログラムを書いているんですけど Range("B1").Select ActiveWindow.FreezePanes = True と書いても出力先のxlsファイルでは枠の固定がされてません。 書き方が悪いんでしょうか?
484 :
nobodyさん :04/06/14 22:39 ID:DCIbC5r/
事故解決しました。 objExcelSheet.Cells(2,1).Activate objExcelApp.ActiveWindow.FreezePanes = True ~~~~~~~~~~~~~ これが抜けてただけでし他。
485 :
nobodyさん :04/06/24 19:12 ID:l1ypybz2
すいません、ちと質問です。 ASPからメール送信を行いたいんですけど、SMTPサーバ(sendmailとか)は 別途用意する必要があるんでしょうか? IIS付属のSMTPってのじゃだめなんですか? それと、送信のみなので、ドメインの取得は必要ないですよね? qmailサーバをなんとか一度だけ立てた、このヘタレにご教授ください〜。
>>485 どうやって送るかによる。BASP使うのなら利用できるSMTPならIISだろうがSendMailだろうが
(ローカルでなくても)何だって良い。
CDONTS使うのならIISでSMTP立てないと多分無理。こっちのほうは使ったことないのでよく分からんが。
ドメインは取る必要ないが、相手先によっては、けられる恐れあり。
うちの会社じゃDNS逆引き出来ないとこから来るのははじいてる。
とりあえず外部公開してるサーバでSMTP立てるのだったら設定は慎重に頼むぞ...
487 :
あああ :04/06/24 23:38 ID:yUps7HkZ
質問です。まあよくある普通のサイトをたちあげたのですが、 ASPファイルを更新したので、あららしいファイルを上書きしたのですが、 ブラウザでいくらキャッシュ消したり、再読み込みしても もう存在しないはずの旧ファイルの内容を標示してしまうことってありませんか? 発生条件がほんと謎なのです。なったことあるひといますか? ちなみにこの状態におちいると、その箇所のASPファイルをすっこぬいて カラにしてしまっても動き続けます。ファイル無いはずなのに標示されます。
>>487 NT4で何回かそんな現象にぶち当たったことあるな。
鯖再起動したら直ったけど。
ん〜ひょっとしたらサービスの再起動だけで直ったかも。
最近NT4いじってないんでよく覚えてないや。
489 :
あああ :04/06/25 00:56 ID:???
これが、Win2000サーバでもおこりました。 IISだけ再起動でも直ります。 ただ、なぜ、いつ、発生するのかが謎なのです。
アプリケーションプールのせいではないの? ごめん。適当に思いついただけです。
491 :
485 :04/06/25 10:48 ID:74QRNCFy
>>486 ありがとうございます。
やるとしたらBASPは使います。
調べたら、これって同一LAN内にSMTPいなくてもOKなんよね?
はじめに思っていたより、実は簡単・・?
492 :
nobodyさん :04/06/25 13:43 ID:5t0nY7E7
かなりの初心者です。よろしくお願いいたします。 XPにapacheをインストールしてaspファイルとhtmlファイルを作成しました。それを以下に記します。 vbs06a.html=============================================== <HTML lang="ja" > <HEAD> <TITLE>VBScript 06a</TITLE> </HEAD> <BODY> <FORM action="vbs06a.asp" method="get"> <!-- ここにFormタグを入力 --> <INPUT type="text" name="txt1" size="3" maxlength="3"> - <INPUT type="text" name="txt2" size="4" maxlength="4"> <BR> <INPUT type="submit" value = "決定"> <INPUT type="reset" value = "リセット"> </FORM> </BODY> </HTML> =========================================================== 続きへ
493 :
nobodyさん :04/06/25 13:44 ID:5t0nY7E7
vbs06a.asp================================================= <HTML> <HEAD> <TITLE>VBScript 06a</TITLE> </HEAD> <BODY> 入力された郵便番号は <!-- ここにスクリプトを入力 --> <%= Request.Form("txt1")%>-<%= Request.Form("txt2")%> です <BR><BR><A href="vbs06a.html">back</A> </BODY> </HTML> ========================================================== htmlファイルに郵便番号を入力して、決定を押したらaspファイルでその郵便番号を表示するはずなのですが、その郵便番号の箇所(txt1とtxt2)のみ表示されません。"入力された郵便番号は"などのコメントは表示されます。 どうしてこのようになるのか今は全く検討がつきません。環境設定の問題なのでしょうか? どなたかご教授願います。
494 :
nobodyさん :04/06/25 14:56 ID:DQ991GJy
method="get" を method="post" にしてみれ。
495 :
nobodyさん :04/06/25 15:01 ID:5t0nY7E7
>>494 ご返事ありがとうございます。
結果は変わらなかったです。
496 :
nobodyさん :04/06/25 15:10 ID:DQ991GJy
すまん。 今気付いたけど、 >XPにapacheを って釣られたのか? orz
497 :
nobodyさん :04/06/25 15:21 ID:5t0nY7E7
>>496 はい、XPに入れましたが、やはり問題あったのでしょうか?
498 :
nobodyさん :04/06/25 15:32 ID:5t0nY7E7
どこにapacheで動作するって書いてあるんだ?
500 :
nobodyさん :04/06/25 15:49 ID:xR8nbSP+
はじめまして。 ASPとSQLserverを使ってるんですが、今2つのデータテーブル(フィールドはどちらも同じId、Name、Address、Tel)を1つにまとめたいと考えてます。 ただ、そこで問題なのがおたがいのIDが重複している可能性があるので、一度両方のデータセットを取得して、IDの衝突がないことを確認してその時点でのクエリ (rs配列にあるValue)をInsertしていく・・という方法を考えています。 ひとつのデータベーステーブルから値をひろって、それを別のデータテーブルに 格納したいのですが、変数を使う場合SQL文はどう表記すればいいのでしょうか? Set rs=conn.Execute("Select * from table1") で、これをテーブル2に conn.Execute("Insert into table2 (Id,Name,Address,Tel) values rs("ID")& ",'" & rs("Name") & "','"& rs("Address") &"','" & rs("Tel") &"'" ) これだとエラーになってしまうんです。 いろいろと「"」や「'」で囲ったりしてみたんですが、やればやるほど泥沼にハマってしまいました。。(^^;) すいませんどなたか助けてください。
501 :
nobodyさん :04/06/25 15:52 ID:5t0nY7E7
>>499 すいません。
書いてませんね。
なんか頭の中が混乱していたようです。
つまりapachはXPをサポートしていないということでしょうか?
このスレで聞いていい質問なのか分かりませんが・・・。
>>501 釣りにマジレス?
ASPはApacheじゃ動かないだろ。
IIS以外でASPって動くのか。
505 :
nobodyさん :04/06/25 23:41 ID:8zpicMqZ
>>500 とりあえずCreateParameterでやった方がいいよ。
506 :
500 :04/06/25 23:43 ID:???
>>503 本当ですか?エンタープライズマネージャーのどの機能ですか?
教えて君ですいません。。またその際のSQL文とはどんなものでしょうか・・?
>502 Apache::ASPってのもあることはある。 こいつはapache+mod_perl環境を前提としたPerlによるASPのエミュレートぽい環境。 それなりに使えるようには思うが、結構導入がマンドクセので、 そこまでしてApache - Perlの組み合わせでASPをやるかとなると…… 玩具には楽しいけどね。レガシASPに比べれば多少機能アップも図られてるし。
>>506 2つのテーブルがまったく同じ構造なら UNION句を使うとか。
思いつきだけで書いてるけど。
>>506 キーが重複してないデータだけ抜き出すビュー作成→そのデータをコピペで良いんじゃねーの?
ていうかスレ違い。
510 :
nobodyさん :04/06/26 13:20 ID:/jOReQIC
IISでASPを動かそうと考えています。 IISの設定は終了しています。 IISではapacheのようにlocalhost/ASP(ASPはフォルダ)のようにフォルダ内のファイル一覧表示って出来ないのでしょうか? URLにファイル名までのパスを入力するとそのファイルの表示は出来ています。 どなたかよろしくお願い致します。
511 :
nobodyさん :04/06/26 13:47 ID:/jOReQIC
↑ すいません。出来ました。 失礼致しました。
>>500 ASPでやるべきかどうかは置いといて、
conn.Execute("Insert into table2 (Id,Name,Address,Tel) values (" & rs("ID")& ",'" & rs("Name") & "','"& rs("Address") &"','" & rs("Tel") &"'" )")
じゃないかな?
SQL文は先に変数に入れて Response.Wrtie してみれば、ちゃんとした構文になってないのがすぐ分かる。
あと、パラメータ使わないにしても、Replaceで ' を '' に変換くらいはしたほうがいいかと。
513 :
nobodyさん :04/06/27 03:45 ID:HH+gkox4
一度、表示できたのに、再起動してから表示できなくなるようなことってあるのでしょうか? そのときのエラー内容を以下に記します。 また、その下にエラー箇所のソースを記します。 どなたか何かお気付きの方がいっらしゃれば、ご教授の程、よろしくお願い致します。 エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver]一般エラー レジストリ キー 'Temporary (volatile) Jet DSN for process 0x954 Thread 0xa9c DBC 0x111dc3c Jet' を開くことができません。 /スーパーサンプル/samples/7 アプリケーション/7-5 スケジュール/sche.asp, line 275 '================================================= '----- DB接続 '================================================= Sub ConnDB() Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _ Server.Mappath("sche.mdb") End Sub 上記のうちの ObjConn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _ の行のようです。
514 :
nobodyさん :04/06/27 16:56 ID:HH+gkox4
>>513 について補足します。
ソースをほかのPC(OSは同じ。XP)に移して動かしたところ、ちゃんと動きました。
どこに違いがあるのか分かりません。
515 :
nobodyさん :04/06/27 17:06 ID:HH+gkox4
>>513-514 動かないPC(ノート)で動かせるようにしないといけないので、どなたかご教授願います。
516 :
___ :04/06/27 17:28 ID:w62SJ2Y/
動作環境についての質問なんですけどいいですか? イントラ限定でクライアント10台くらいでWin2000鯖&SQL2000で在庫管理システム 構築しようと思ってます。鯖って1台(IIS&SQL)でいいかな?それとも2台(IISと SQL)あったほうがいいかな?ていうとないとダメ?教えて君ですいませんがどなたか ご教授願います。 あ、鯖はごく一般的(PEN4?3G?&Mem1Gくらい?HDD40GB)です。それとトランザク ションは発生が1000件/日、更新は300件/日、くらいのもんです。
517 :
nobodyさん :04/06/28 00:59 ID:As6ZB0VV
>>516 > トランザクションは発生が1000件/日、更新は300件/日、くらいのもんです
1台で十分。
もっと言えばMSDEで十分
518 :
nobodyさん :04/06/28 15:05 ID:ycSyQ97E
以下のエラーが出ます。
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。
そこでマイクロソフトのサポートで調べてみて、以下の文がありました。
http://support.microsoft.com/default.aspx?scid=kb;ja;175168 =========================================================================================
最も頻度の高い原因は、デフォルトで "Everyone" グループに含まれているインターネット ゲスト アカウント
(IUSR_MACHINE) に、データベース ファイル (.mdb) に対する書き込みのアクセス許可がないことです。
この問題を解決するには、エクスプローラで、対象のファイルのプロパティの [セキュリティ] タブを修正して、
インターネット ゲスト アカウントに適切なアクセス許可を付与します。
=========================================================================================
この文の、”対象のファイル”というのは、mdbファイルだと思っても差し支えないでしょうか?
というのも、対象となるmdbファイルのプロパティを参照しても、「セキュリティ」というタブが
見つからないのです。
今、私は上記の文の通りのことが出来てません。
"Everyone"グループというのも分からないし、インターネット ゲスト アカウント (IUSR_MACHINE)も分かりません。
どなたかどうすればいいか教えて頂けないでしょうか?
519 :
nobodyさん :04/06/28 18:17 ID:ZKttLMDo
>>518 について補足します。
ブラウザからmdbファイルをクリックすると、「ファイルのダウンロード」になります。
そこで、「開く」をクリックすると、以下のメッセージが出て、ファイルを開けません。
=======================================================================
このファイルを開けません。
このファイルは、イントラネット外または信頼されていないサイトに保存されています。
セキュリティ上問題がある可能性があるため、ファイルを開きません。
ファイルを開くには、ローカルマシンまたはアクセスできるネットワークの保存場所に
いったんコピーしてください。
=======================================================================
やはりブラウザからmdbファイルをダウンロードして、開く事が出来るようになれば、
うまくいくような気がしています。
どなたか、何かお気づきの方がいらっしゃいましたら、ご教授の程、よろしくお願いいたします。
>>518-519 おいおいおいおーい!いったい何をやろうとしてるんだ!?
なんだか((((;゚Д゚))))ガクガクブルブル
せめて環境書け
522 :
nobodyさん :04/06/29 11:29 ID:RUrjiXQH
>>520 ,521
すいませんでした。
環境は、windowsXPです。
これ以外に何を書けば良いでしょうか・・・・?
なお、これは先ほど解決いたしました。
「対象のファイルのプロパティの [セキュリティ] タブ」は、
フォルダオプションの設定を変えることによって出現しました。
それにより、アクセスを許可でき、解決となりました。
mdbをダウンロードしたのは、ただmdbファイルがアクセス不許可になっている
ことが原因であるということがはっきりしているという意味で書かせて頂きました。
523 :
nobodyさん :04/06/29 22:13 ID:o15RwvsC
>対象となるmdbファイルのプロパティを参照しても、 >「セキュリティ」というタブが見つからないのです。 NTFSならフォルダオプションで表示させられるはず。
なんだか話にならん質問だな。 もうスルーしようぜ。
525 :
戦士 :04/07/03 10:15 ID:???
メルマガを作りたいんですが、さっぱりわかりません。 BASP21のメール送信機能をお客さんリスト分ループさせて 1件づつ送信すればよい?
すいません。 SMTPなしでメール送信することなんてできないですよねぇ? 出来るって話をする人がいて、一応調べてるんですけど・・。 BASP使っても、SMTPは必須なんですよね?
>>526 必須です。
ただし、SMTPサーバはIISと同じサーバでも別のサーバでもインターネット越しのサーバでも構いません。
basp21.socket使って直接送信先鯖につなげばこっち側にSMPT鯖立てなくてもいけるかも。 非常に邪魔くさそうなので試す気無いけど。
ASPで配列の要素をキーをもとに削除する便利方法ないですかね?
キー?言語は何よ?
配列じゃなくてScripting.Dictionary使えば。
533 :
nobodyさん :04/07/14 19:35 ID:FW6QKySk
IIS5なんですが、IEに右上の×ボタンを押されたことを ASP側で拾うことは出来ますか? SESSION変数の後始末をしてあげたいもので・・・
ブラウザが閉じられたことを直接にサーバ側で知る一般的な方法はない。 ただ、それによって「ブラウザが閉じるまで」のクッキーは失効するから、 次に同じ(と思われる)クライアントがセッションIDを持ってなければ、 それまでのセッションが切れたと判断され、Session_OnEnd()が呼ばれる。 そこで後始末しる。 ……で良かったっけ? 何か書いてて不安になってきたのでツッコミよろすく。
セッションが後始末されるタイミングはSession.Timeoutしかないのでは? ブラウザを閉じた同じクライアントから再度接続したときにセッションが切れている のはクライアントがセッションクッキーを破棄したからで、サーバにSession情報が 残っていないのではない。 何らかのタイミングでAbandonするか、タイムアウトするまでセッションの情報は 消えません。 んで、クライアントがブラウザを閉じたというタイミングをサーバは知りえないので、 結局タイムアウトで消えるまでは残りつづけるかと。 Session_OnEnd()に後始末書いとけって結論は同じです。
536 :
nobodyさん :04/07/15 03:48 ID:5ftZesxY
BODYのonUnloadでwindow.open('end.asp'); end.aspでSession.AbandonしてBODYのonLoadでwindow.close(); なーんてね( ´∀`)
537 :
nobodyさん :04/07/15 17:49 ID:Prek2ToU
<%@ Language=VBScript %> でも//がコメントに使えるのはなぜですか?
>>533 536な感じでonUnloadと併用すればできる。
ただし、フレームとか使って遷移しないページに貼ること。
unLoadの時のJavascriptも使えるのが限られる(location.hrefはダメ)からいろいろ試してみ
539 :
nobodyさん :04/07/16 18:24 ID:HCuP+FIs
すんません、教えてください。 javascript の <form> <Input 〜略〜 onclick = "関数名"> みたいなことは、ASPでもできるのですか? またできるのでしたら、やり方を教えてください。
540 :
539 :04/07/16 18:30 ID:HCuP+FIs
あ、説明不足でした。 <form> のactionでaspページへはジャンプしたくないのです。 ボタンを押したときに、表示しているページをかえずに 関数を走らせることはできるのでしょうか。
>539 ASPのページは読み込まずにASPの関数を呼びたいのか? なんにせよASPの関数を呼ぶためにはASPのページをpostするしかないと思うのだが。
542 :
539 :04/07/16 18:50 ID:HCuP+FIs
そうですよね・・・ 表示がかわらないで関数を呼べればと思ったのですが。 最悪関数の最後に元のページに戻る一文をくっつけてみます。 ちょっと構造的に不細工な気もするのですが。 ありがとうございました。
>539 目的がよくわからんが、ページ遷移伴わずにサーバに処理させたいんなら リモートスクリプト使えばいいんじゃないの?
544 :
nobodyさん :04/07/24 00:06 ID:dg7dM13B
「いろんなファイルを京ぽんで見るCGI」 をASPで、実現できないでしょうか? 現在はVBSScriptを使ってMS-WordやExcelのファイルを html変換しています。
546 :
nobodyさん :04/07/25 01:00 ID:LBJKrSVD
質問です!! ASPの変数にJavascriptの変数の値をいれることってできますか?
できる Request.Form か Request.QueryString で取りなされ
548 :
nobodyさん :04/07/25 02:02 ID:LBJKrSVD
>>547 さんレスありがとうございます。
submitなしでする方法はないですかね。。
すいません、質問です。 電文を受信し、それを解析して電文送信を行うASPを作成しているのですが、 同一の宛先から複数回電文受信した場合、明示的にセッションを切断しなければ、 同一セッションとみなされるのでしょうか? 教えてASPの中の人!
電文を受信・・・? それは電文を受信するライブラリの作りによるよ。きっと。
551 :
nobodyさん :04/07/28 11:31 ID:rYM5kEJf
ASPで 画像のサムネイルを動的に作成する方法を教えてください 横150ピクセル×縦100ピクセルのエリアに 縦横比を変更せずに 表示できるサムネイルができればいいんですが・・・ たとえば 横300ピクセル×縦180ピクセルの画像を 横幅は表示エリアにあわせて 150ピクセル 縦幅は縦横比を変えずに 90ピクセル の 横150ピクセル×縦90ピクセルのサムネイルを作成 画像と縦横のピクセルを指定すると 最適化されてくる関数等があればなおいいんですが・・・
552 :
nobodyさん :04/08/01 00:58 ID:QYh3SWaP
>>551 IMGタグのwidthとheightを変更するんじゃなくて
ファイル自体を生成するってことですか?
553 :
551 :04/08/02 10:30 ID:???
>>552 そうです。
ファイル自体変えれればいいなと思ってます。
固定でwidthとheightを変えちゃうと
縦横比がおかしくなっちゃうから・・・
>553 すこーしオーバースペックかもだがImageMagickを使ってみては。 Windows用のバイナリ配布ならCOMブリッジがあるから、ASPからも使える……はず。 実際に試した訳じゃないんであかんかったらスマソ。
ASPでリモートホスト名取るのって やっぱりPerlと連携させるのがベストなのかな?
556 :
nobodyさん :04/08/05 02:58 ID:hyKdPEnt
すいません。 以前basp21でのメール送信に関して質問させていただいた者です。 いま、baspを使ってメール送信のテストを行っているのですが、 うまくPOP認証がされません。 具体的には、Path is not Directory のエラーが出るのですが、 これは単に受信データの存在するディレクトリがない、という ことだと思うのですが、テストSMTPはLinuxなので、システムドライブが 何なのかわかりません。 また、本番SMTPはあるプロバイダのメールアカウントを使用しますので、 受信ディレクトリを教えてくれるかもわかりません。 そこで、ディレクトリを指定しないでもPOP認証を通る方法はありませんでしょうか? 宜しくお願いします。
558 :
557 :04/08/12 15:17 ID:???
勘違いしてました。 rc = object.RcvMail(POP,User,Pass,"STAT",Dir) の"Dir"は、SMTPサーバのメールデータ保存ディレクトリではなく、 basp存在サーバのディレクトリですよね? 認証通るようになりました。 失礼しました。
560 :
557 :04/08/13 15:32 ID:???
失礼。 POP Before SMTP 認証を通すために、 一旦受信をしています。
561 :
nobodyさん :04/08/19 16:16 ID:T7xEf/rS
外部にあるサーバのデータベース(SQLサーバー)へ 別のWEBサーバのASPからアクセスしたいんですが どうやって接続すればよいんでしょうか? WEBサーバの方に適切なDSNを設定しておけば Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.Open ("DSN=????") で開けるんでしょうか? またはDSNを使用しない場合は何を指定すればいいんでしょうか? すんませんがご教授お願いします
>>561 DSNに書いたらODBC接続になるぞ
var adcn = Server.CreateObject("ADODB.Connection");
with (adcn) {
ConnectionString = "Provider=sqloledb;Data Source=xx.xx.xx.xx;User Id=sa;Password=;Initial Catalog=NorthWind";
Open();
}
これだけでいい
563 :
nobodyさん :04/08/20 21:58 ID:sZXCXkGp
突然session情報がなくなってしまう現象に困ってます。 IIS5なんですが、ログインしてsessionに情報を保持したあと、 サイト内を移動していると、不特定の場所で突然ログイン画面に遷移します。 各画面の先頭でsession保持チェックを入れてあって、 そこでsession情報が突然失われてしまう、というところまで確認しています。 しかも、ログイン画面に飛ばされると、sessionのIDも変わっています。 起きる時は立て続けに発生し、起きない時はぜんぜんおきません。。。 sessionはログアウト時にAbandonしています。 それ以外ではAbandonしたりはしていません。 サーバのホスト名にアンダーバーも入れてません。 ホトホト困り果ててしまいました。。。 一体何が起こっているのでしょうか? 少しでも何かわかる方、教えてください。 お願いします。
>>563 cookie情報を含めたLOGを取ってもわからない?
というかそれを晒してみれば?
565 :
563 :04/08/23 14:26 ID:zVUDN8F2
>>564 IISのログを取得してみたんですが、
ログイン画面に飛ばされる(要はsessionがなくなる前)までは、
ASPSESSIONID・・・の記述があるのですが、
sessionがなくなってログイン画面に飛ばされた時には,
ASPSESSIONID・・・の記述そのものが「きれいさっぱり」なくなってます。。。
>>565 そのASPSESSIONIDをなくしてしまうページを確認しろということでしょ。
ログをさらさなければこれ以上的確な提案はできない希ガス。
ここってアスパラギンのスレ?
そうだ
漏れはアスパラドリンクのスレかとおm(ry .NETもいっとく?
571 :
563 :04/08/27 19:25 ID:JE6br4ZJ
Session.TimeOutで設定されないんかな?
>571 つーか素直にIIS/PWS経由でアクセスするという手はないんかいな。
質問です。 Recordsetオブジェクトを、Closeしないで処理終了した場合は、 そのオブジェクトや、メモリはどうなるのでしょうか?
ページの終わりでCloseされて破棄されます。
576 :
574 :04/08/30 09:54 ID:???
>>575 ありがとうございます。
ということは、オープン中に発生したエラー処理での
クローズはあんまり考えなくていいですよね?
ほsyu
579 :
nobodyさん :04/09/16 15:23:17 ID:TGXTNniE
C#で開発できますか?
>579 ASP.netなら。 しかし、たまーに.aspxなサイト見かけるようになってきたが 総本山のサイトに未だ.aspなページが多いのはなんでだろ〜♪
やっぱ.NET使わないとダメですか・・・ サンクスです
582 :
577 :04/09/17 15:32:27 ID:???
584 :
577 :04/09/21 09:14:49 ID:qjUnzu43
>>584 XP+IEで表示されるのならサーバ側にゃ問題ないのではないかい?
IEのセキュリティ設定が問題じゃねぇの?
586 :
577 :04/09/22 09:40:48 ID:???
>>585 確かにサーバー側の問題ではなくユーザー側ではあると思います。
VBやVisual J++をインストールされている端末は表示されます。
VBやVisual J++がインストールされていない端末で表示したいのです。
(xpはインストールされてなくても表示されます)
ここはスレ違いだと思いますが、どなたか教えてください。
no1.aspから no2.aspを JSの window.openを使い新規ウィンドウで開きます。 その際、no1.aspのSession情報、Request情報もno2.aspに引き継ぎたいのですが、うまくいきません。 no1.asp側で window.open("","test"); document.form_1.target = "test"; document.form_1.action = "no2.asp"; document.form_1.submit(); とすると、Request情報を取得することができました。 しかし、Session情報の取得が出来ませんでした。 no1.aspとno2.aspで Session.LCIDとSession.SessionIDを出力してみたところ SessionIDが違う値になっていました。 Session情報を引き継ぐことは無理なのでしょうか? お願いします
>587 自分もなったよ。最近。どうしようもなかったから "no2.asp?xxx=0&yyy=1"; とかにして Request("xxx")で取得した
>>587 セッションは基本的にプロセス単位に持つから、別ウィンドウでプロセスが変わるIEは無理。
逆に言えばタブブラウザは複数のウィンドウでも1プロセスなので引き継ぐことが可能。
590 :
587 :04/09/22 23:23:16 ID:???
納得しましたThxです。
保守
Abandon後にSession.SessionIDを参照しても 前と同じIDなのは正常な挙動?(Session.Contentsはしっかり初期化されてる) Session.Abandonメソッド:セッション情報を破棄 みたいな説明が多いんだけどこれってSessionIDも破棄するって ことではないの?
同一ページ内なら正常な挙動です。 Abandon メソッドを呼び出すと、現在の Session オブジェクトが削除のためにキューに退避されますが、 実際に削除されるのは現在のページのスクリプト コマンドの処理がすべて完了した時点です。 つまり、Abandon を呼び出したページ内であれば Session オブジェクト内の変数にはまだアクセスすることができますが、 その後の Web ページではアクセスできなくなります。 だそうで。 セッション破棄したページ以降のリクエストで以前と同じSessionIDが採番されてるようなら異常だと思う。
592ですが返答ありがとうございます。敬語使います。 abandonを呼び出しているページを更新しても、一度ブラウザを落としても 以前のSessionIDが配番されます。タイムアウトを1分に変更して1分ごとに みてみたんですが、これも以前のSessionIDが配番されます。セッション変数 (Session.contents)はきちんと破棄されています。けれどふとした拍子に 依然と異なるSessionIDを配番しやがります。理由の特定はできなかったです。 というような感じの挙動でした。回避策はとったんですが思い通りに動かないのは 気持ち悪いです。自己解したら報告に来ます。
セッションIDって同じものが別のクライアントに割り当てられることもあるって仕様でなかった? だからDBのキーにしたりすることはお勧めできない、って。 単に空いたIDを使い回しているだけってことじゃないのかな……
597 :
nobodyさん :04/10/22 10:29:13 ID:GVkfhK7N
ASPからADSIを使用して、ActiveDirectoryの認証を行いたいのですが この際に、パスワード有効期限切れや、アカウントロック中などのメッセージを 必要に応じて表示させたいと思います。 上記情報のパラメータ(?)の取得方法をお教え願いたいのですが。 また、ADSIのバージョン確認法も教えていただきたく思います。 よろしくお願いします。
598 :
nobodyさん :04/10/22 19:34:02 ID:4aYaveIP
ユーザーが数値を入力し、 動的な折れ線グラフを出力したいのですが まずどうしていいのか分からないので どうぞ一つよろしくお願いします。
>598 まず入力された数値をオウム返しに表示するページを作りんさい。 絵(グラフ)を描くのは適当にコンポーネント探しんさい。 オーバースペックで良ければImageMagickとかあるし。
601 :
nobodyさん :04/10/25 03:06:17 ID:rJW5BvWS
perlとかだとpath_infoを用いて動的URLを静的に見せることができますが (たとえば、hoge://hoge.hoge.cgi?aaa=123&bbb=456 → hoge://hoge.hoge.cgi/123/456.html) 同様のことがASPでもできるんでしょうか?
603 :
nobodyさん :04/10/25 09:17:19 ID:lryWe8IG
>>602 さんきゅー。でもリンク先が404_| ̄|○
605 :
602 :04/10/26 00:17:10 ID:???
606 :
nobodyさん :04/10/26 07:31:22 ID:Klv9YMNP
ウィンドウの閉じるボタンを使用不可、またはクリックされたイベントを取得し制御したいのですが無理でしょうか? javaスクリプトで制御できるのかと思ったのですが、ググってみると出来ないという回答しか見つかりませんでした。 お願いします。
>607 ASPでどうこうできる話ではないぞ。
609 :
597 :04/10/26 12:06:52 ID:o98NDTMb
>>600 ありがとうございます。
早速試してみたのですが
-2147463156
ディレクトリのデータ型と、ネイティブ DS のデータ型を相互に変換することはでき
ません
Active Directory
とエラーが出てしまいます。
立て続けで申し訳ないですが、教えてください。
お願いいたします。
Global.asa の Application_OnStartでアプリケーション変数を初期化して、 その後で必要に応じて値を変更してるんだが、 IIS 6.0 でアクティブな ASPセッションが何もない状態 (Abandonしたりタイムアウトして生きてるセッションがなくなった状態) が続くと、いつの間にかアプリケーション変数が初期値に戻っている。 IIS 5.0 では同じコードでもそういう現象はなかったんだが、 メタベースかどこかの設定を変えてやる必要があるんだろうか。
↑アプリケーションプール DefaultAppPool のプロパティのパフォーマンスタブの 一番上にある、アイドル時間の監視(20分でプロセス終了)をやめたら 解消しますた。
>>607 基本的にはできないけど、銀行とかのログインサイトで使用されているメジャーな方法としては
フレームを使ってフレーム内でページ遷移させるようにする。
フレームのHTMLにonUnloadイベントをつけて、ログアウト処理を行うaspに飛ばす
こうするとブラウザの閉じるボタンを押した場合も、別サイトに飛んだ場合もログアウト処理が走る。
但し流行りのタブブラウザの場合は、閉じるボタンを押すとonUnloadが働かないので注意
613 :
ASP素人 :04/11/01 03:30:19 ID:sStej03s
'================================================= '----- DBにデータを追加 '================================================= Sub UpdateDB() StrSQL = "insert into member (" StrSQL = StrSQL & " name " StrSQL = StrSQL & " mail " StrSQL = StrSQL & ") values (" StrSQL = StrSQL & "'" & name & "'," StrSQL = StrSQL & "'" & mail & "'" StrSQL = StrSQL & ")" ObjConn.Execute(StrSQL) (←この行が違うといわれるのですが・・・) If Err = 0 Then End If End Sub アドバイスくらはい
>StrSQL = StrSQL & " name " >StrSQL = StrSQL & " mail " カンマ入れなくて良いの?
>615 そこは列名だからカンマ要らないっしょ。 とりあえず613は「違うと言われる」という内容のエラーメッセージを 表示されたそのまんまコピペしる。でないとわからん。
617 :
616 :04/11/01 12:42:30 ID:???
スマヌ。カンマとクオートを取り違えた。 てことで>615でいけそうですな。
618 :
ASP素人 :04/11/01 18:48:33 ID:ZGzcf1yo
>>616 エラー タイプ
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントの構文エラーです。
/scripts/id.asp, line 176
619 :
ASP素人 :04/11/01 18:51:14 ID:ZGzcf1yo
>>614 サン
DimObjConn,ObjRS
中略
'=================================================
'----- DBに接続
'=================================================
Sub ConnDB()
'スクリプトと同じフォルダにあるAccessのpass.mdbに接続します。
DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _
Server.Mappath("pass.mdb")
Set ObjConn = Server.CreateObject("ADODB.Connection")
ObjConn.open DBname
StrSQL = "select * from pass"
Set ObjRS = Server.CreateObject("ADODB.Recordset")
ObjRS.Open StrSQL, ObjConn,3,3
End Sub
620 :
615 :04/11/01 21:51:00 ID:???
>619 念のため書くけど,SQLステートメント(この場合はStrSQL内)に間違いがあると, ObjConn.Execute(StrSQL)の行を実行するときににエラーが出るのよ.
>618 いや、616は、617に書いた通り漏れの勘違いカキコ。 実際貼ってもらったエラーの文言からしても、615の指摘が的を射てるっぽいね。 ってことで、615の修正は試してみた?
>>613 SQL文をそのまま書くのは間違えやすい(特に「'」とか)し、パフォーマンスも若干落ちるので
Recordset出してAddnew()したほうがいいよ。
623 :
nobodyさん :04/11/02 05:50:58 ID:XVal7AaO
>>613 116は無視して115の言うとおりカンマ入れろ。
>>622 Response.Write StrSQL するなりしてちゃんとチェックすれば無問題。
むしろRecordSet使うほうがパフォーマンス悪いヨカン。
クエリの実行でエラーになったときのデバッグの基本は
1.Response.Write StrSQL して目視チェック。
2.Response.Writeの結果のSQL文をクエリ実行環境(SQL Serverの場合はクエリアナライザ、
アクセスの場合はクエリ作成→左上のアイコンをプルダウンして「SQL」を選んだ状態)
でコピペ →実行! →エラー内容を見る
でつ(・∀・)!
624 :
ASP素人 :04/11/02 09:18:41 ID:WxKWacb6
あの〜申し訳ない・・・。 カンマはどこに入れればよろしいのでしょうか?
insert into member (name mail) values ('ねーむ','めぇる') insertの構文を見直してみよう。特に列の所。
627 :
nobodyさん :04/11/03 03:04:22 ID:Fscx21N8
高校生の冬休みの宿題か? ・・・ってまだ早いかw
628 :
OpenTextFile :04/11/03 17:34:39 ID:pUiAD0wA
WINDOWS XP Pro SP2+IIS5.1の環境で以下のスクリプトtest.aspを ブラウザ(IE)で実行すると固まった状態になります。 どのようなことが考えられますか? また、タイムアウトなりおこしてエラーとか出力する方法はないの でしょうか? ーーーーーーーーーーーーー以下スクリプトーーーーーーーーーーー <% LANGUAGE=VBScript DIM obj DIM fo Set obj=Server.CreateObject("Scripting.FileSystemObject") Set fo=obj.OpenTextFile(Server.Mappath("text1.txt"),1,True) Response.Write fo.ReadLine fo.Close Set fo = Nothing Set obj = Nothing %>
>628 とりあえず、4行目のServer.Mappathがちゃんと目的のファイルのパス返してるかどうか、 そっから下のコードをコメントアウトして確認してみては。 あと、それだと一行読んで表示して終わりだけどそれで合ってるの? ひょっとしてループのコード削ってカキコしてない? だとしたらループの終端条件も チェックしてみませう。
>>628 InetMgr > 仮想ディレクトリのプロパティ > ディレクトリタブ > アプリケーションの設定欄 > 構成ボタン > デバッグタブ
デバッグのフラグ: 両方にチェック
スクリプトのエラーメッセージ: 上を選択
とりあえずこの設定をすればブラウザでエラーを拾える
text1.txtはブラクラではないよな?
>>628 まず、固まった状態とは何がどう固まっているの?
IEが反応しなくなって強制終了するしかなくなるってこと?
それともサーバから何も帰らないってこと?
>>628 ノートンのスクリプト遮断機能をあぼーん汁!
Server側で動いてるのに意味ねージャン。
635 :
OpenTextFile :04/11/04 21:47:26 ID:yQwLlWAb
管理者が○月○日に使用できるワンデーパスを発行し、 使用者がパスを入力したときにサーバ側でパスから日付を複合化して Date()と比較して合ってれば、ある処理をさせるようなスクリプトを考えてます。 MD5のような堅固な暗号じゃなくて構わないので、可逆的な暗号を作成する方法を 説明しているサイトとかあるかな? 今自分で考えているのは、許可する日付8桁に四則演算してやって・・・・ と考えていましたが、どうも上手くまとまらないんだYO たすけて偉い人
「公開鍵」とかでぐぐってみると色々と
秘密鍵でした。逝ってきます
640 :
nobodyさん :04/11/11 06:15:19 ID:TWFMGtp5
ASPでディスプレイの解像度などの情報を取得する事は可能?
JavaScriptで取得すればよくね?
642 :
nobodyさん :04/11/12 19:52:42 ID:qd5J7hVz
JScriptでASPを書き始めた初心者です。 テキストファイルに1行ずつ aaa bbb ccc ・ ・ ・ xxx yyy zzz という文字列の記述があって、 あるaspファイルにアクセスする度に、上記テキストファイルを上から1行ずつ読み込み、 かつ読み込んだ文字列をテキストファイルから削除する動作をさせたいんです。 どなたか教えて下さい。
>642 1. FileSystemObjectの使い方は知っていますか? 2. 何か、自分の使える言語で「テキストファイルに対する一般的な操作」は書けますか? 1. 2. に「はい」と答えられるなら自ずから問題は解決するはずです。 どちらかが「いいえ」なら、書籍、Web、MSDNのヘルプなどで勉強してください。 (今勉強しておけば、この先ASPでファイルを操作するときに困ることは格段に減ります。)
>>642 var fs = Server.CreateObject("Scripting.FileSystemObject");
var FILE = "C:\\test.txt";
with (fs.OpenTextFile(FILE,1)) {
Response.Write(ReadLine());
var wMSG = "";
while (!AtEndOfStream) { wMSG += ReadLine(); }
Close();
}
with (fs.OpenTextFile(FILE,2)) {
Write(wMSG);
Close();
}
asp書くときにエディタは何使ってます? vbscriptやhtml、javascriptを効果的に見分けられるような エディタがあるんですかね。
peggyが対応してたんじゃないかな? 俺はサクラエディタ使ってるけど。
ASPで実際はテーブルで表が作ってあるのですが、その中で ■■■:FFFFFF っていう感じで■3つを色コードFFFFFF(白)で表示ってのを 今は作ってあり、今はFFFFFFを直接書き換えて右端に更新ボタンを作ってあり 更新する事により色コードをチェック後DBを更新して■の色も 更新するように作ってあります。 ASPとはほとんど関係ない事ですが、クライアントから■をクリックしたら 別ウィンドウが開いて色の一覧が出て、選択して閉じるボタンを押すと 選択した色が選ばれているような感じにしてくれと言われたのですが、 ペイントみたいな感じは個人的にさけたいのですが、 見栄え的に何か良い方法、もしくは同じような事をやられた方、見えないでしょうか・・ 内容的にはWEB商品の色を選ぶみたいな処理なんですが。 処理的には思い浮かぶのですが、IEで色選択をさせるってのを 画面として作った事がないのであえて質問させてもらいました。 よろしくお願いします。
>>647 JavaScript+DHTMLでできる
649 :
462 :04/11/13 13:29:20 ID:tao/R1VF
>643さん 1…何となくですが、基本的な事ならできると思います。 2…JavaScriptしかできませんが、一般的な操作はできてると思います。 スイマセン、本当始めたばかりで右も左も分かりませんが、色々と勉強中です。 頑張って、軽くて負荷の少ない記述とか、セキュリティーも考慮した記述などができる様になりたいです。 >644さん 具体的な記述、ありがとうございます! 最初のwhileループ内にあるReadLineを、ReadAllに書き換えたら、期待通りの動作をしました。 あと644さんの記述で、withの使い方を覚えました。 本当に助かりました。
650 :
643 :04/11/13 13:52:14 ID:???
651 :
nobodyさん :04/11/13 15:55:16 ID:tao/R1VF
>643さん いえいえ。 FSOって基本なのに、かなり上っ面なぞっただけで理解した気になってたんで、改めて教科書を読み直すきっかけになりました。 それにJScript解説のページ、すごく参考になります。 VBScriptはよく分からないので、こういうページはありがたいです。 ところで、また分からない所が出てきてしまいました。 落としてきたVBScriptで書かれたソースの中に、自作でJScriptの記述を入れて、 そのJScriptの記述からVBScriptをファンクションとして呼び出そうとしているのですが、 上手く動作しません。 ちなみにVBScriptの部分は、お金にからむ処理が記述してあるので、その部分をJScriptで書き直せってのは勘弁して下さい(T_T) 今失敗している記述はこんな感じです。 <SCRIPT LANGUAGE="JScript" runat="Server"> var hensu = new String(Request.Form("hensu")); if(hensu != "undefined"){ FUN()} </script> <SCRIPT LANGUAGE="JScript" runat="Server"> function FUN(){ </script> <% response.write("FUNファンクションに入った<p>") VBで色々と記述 %> <SCRIPT LANGUAGE="JScript" runat="Server"> } </script> 650で教えて頂いたサイトも参考に調べているのですが、今日18時までに、ある程度形にしないと怒られるんです。(休日出勤の為) 申し訳ありませんが、宜しくお願いします。
652 :
642 :04/11/13 15:57:17 ID:tao/R1VF
ごめんなさい。 上の書き込み、642です
>651 <% @LANGUAGE = JScript %> <!-- 上はページの先頭行(<html>開始タグよりも前)に書くこと --> 必要なHTML部分を記述 <% // デフォルトスクリプト言語をJScriptにしたので、scriptタグで // JScriptのコードを囲まなくても、<%〜%>で代用できる // むしろ、scriptタグで囲んでしまうと、JScriptコードから // VBScriptのプロシージャを呼べないっぽい var hensu = new String(Request.Form("hensu")); if(hensu != "undefined"){ FUN()} %> <!-- <SCRIPT LANGUAGE="JScript" runat="Server"> function FUN(){ </script> <% ↑ではなく、こう↓する--> <SCRIPT LANGUAGE="VBScript" runat="Server"> Function FUN() response.write("FUNファンクションに入った<p>") VBで色々と記述 End Function </script> <!-- %> <SCRIPT LANGUAGE="JScript" runat="Server"> } </script> -->
<script language="VBScript" runat="Server"> function FUN() { Response.Write "FUNファンクションに入った<p>" 'VBScriptで色々と記述 } </script> <script language="JScript" runat="Server"> if ((Request.Form("hensu").Item()) != "") { FUN(); } </script>
655 :
654 :04/11/13 17:58:14 ID:???
656 :
nobodyさん :04/11/15 14:41:40 ID:50MlQxDc
>653さん、>654さん ありがとうございます。 土曜日は、残念ながら上からの指示で、全部VBScriptで書くことになってしまいました。 せっかく具体的な記述を頂いたのに、申し訳ありません。 ただ、僕が基本的にJScriptを使っているので、また教えて頂いた記述を使う機会があると思います。 テキストで保存させて頂きました。 で、今日は今日で、新しい壁にぶつかっているのです…。 formから送られた内容を受け取り、変数に代入したら、1度目はいいのですが、それ以降ブラウザの更新をかけても、変数の内容が空にならないんです。 <% Response.Buffer = true A = Request.Form("A") %> <html><head><title>フォームの練習</title><body> <meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> <FORM action="./renshu_form.asp" method="POST"> Aを入力して下さい<br> <INPUT type="text" name="A" size="30" maxlength="32"><br> 入力内容が正しければ、サブミットボタンを押して下さい<p> <input type="submit"> </FORM> <% If A <> "" Then Response.Write("ifに入った<br>") End If %> これだと、2回目以降、常に変数Aに前回の値が入っているので、必ずif節に入ってしまいます。 また、更新をかける度に「情報を再送信しないと、ページを更新できません」という警告が出るのですが、以前formを使った記述を書いた時は、こんな警告は出なかったように思うのですが…。 申し訳ありませんが、またご教授お願いします。
657 :
ASP素人 :04/11/15 18:41:13 ID:wubhQkHV
613です。 みなさんに教えてもらったとおりやってみたのですがだめでした。 カンマ入れたりしても・・・・・・ '================================================= '----- DBに接続 '================================================= Sub ConnDB() 'スクリプトと同じフォルダにあるAccessのdb1.mdbに接続します。 'DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _ 'Server.Mappath("member.mdb") Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.Mode = 2 ObjConn.open "member" 'DBName StrSQL = "select * from member" Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open StrSQL, ObjConn 'Response.Write ObjRS.Fields("name") 'Response.Write ObjRS.Fields("mail") End Sub '================================================= '----- DBにデータを追加 '================================================= Sub UpdateDB() ObjRS.AddNew ObjRS.Fields("name") = name ObjRS.Fields("mail") = mail ObjRS.Update End Sub で、結局こういう状況です
658 :
ASP素人 :04/11/15 18:42:23 ID:wubhQkHV
エラーが 現在の Recordset は更新をサポートしていません。 プロバイダか、選択されたロックタイプの限界の可能性があります。 となっていますが、神様、教えてください
>>657 通りすがり、かつASPの事はそれほど詳しくないのだけど…
> ObjRS.Open StrSQL, ObjConn
ロックタイプを指定しない場合、既定では読み取り専用のはずだけど。
Openメソッドの第4引数に適切なロックタイプを設定すればいいのでは?
>657 >ObjConn.open "member" 'DBName そもそも Conection.Open メソッドに "member" ちうテーブル名だかmdbファイル名だか分からない ものを渡しているのが気になるのだが。 とりあえず >659 氏の仰るとおり既定のロックタイプは 1(adLockReadOnly) なので、 第四引数に 3(adLockOptimistic) か 2(adLockPessimistic) を指定しよう。 ObjRS.Open StrSQL, ObjConn, ,3 みたいに
661 :
ASP素人 :04/11/16 11:27:18 ID:Dc5bDdUY
とりあえず早速やってみました。 で先には進んだわけなのですが、 '================================================= '----- DBにデータを追加 '================================================= Sub UpdateDB() ObjRS.AddNew ObjRS.Fields("name") = name ObjRS.Fields("mail") = mail ObjRS.Update (←ここでエラー) End Sub Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 とでます。 もうすこしみたいなのでよろしくお願いします。
ん? OLEDB-ODBCでAccess MDBにつなぐときって、 そもそも更新可能なレコードセット作れたっけ? 一辺、単純にUPDATE文投げてみそ。
663 :
615 :04/11/16 13:43:40 ID:???
っつぅかASP素人殿、mdbの更新対象テーブルには 主キーが存在しますか? Accessのテーブルは主キーがないと更新できないらしいです。
664 :
660 :04/11/16 21:43:12 ID:???
>662-663 VBScript で以下の文を実行したらちゃんと走ったから、ODBCのせいでも主キーのせいでもない模様。 ASP は環境作るのめんどいからパス。 時に、objRS とか name ってどこで宣言してるの?まさか局所変数だったりして… objRS や objConn を別のサブルーチンで Close してたり、 "SELECT FROM 〜" の 〜 を mdb名と勘違いしてたり、objRS が Applcation 変数だったり… 前提 ADOX で JET4.0 の hoge.mdb を作成し、 ADODB.CONNECTION を刺して connection.execute メソッドで以下の 2つの SQL 文を投入。 CREATE TABLE hoge( id INTEGER , name TEXT(25) ); INSERT INTO hoge VALUES(2, 'mumumu'); -------------------- set c = createobject("adodb.connection") set r = createobject("adodb.recordset") c.mode=2 c.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\hoge.mdb" r.open "select * from hoge", c,,3 r.addnew r.fields("id") = 4 r.fields("name") = "mamama" r.update c.execute "UPDATE hoge set name='mimimi' where id=2" c.execute "insert into hoge values(5,'momomo');" r.close c.close set r = nothing set c = nothing ----------------
>>656 > 更新をかける度に「情報を再送信しないと、ページを更新できません」という警告が出るのですが、
POSTで送っているから。
更新すると Request.Form("A") の内容もまた送られてしまうため、Aが空にならないんだと思う。
>>661 connectionとかって関数またげるんだっけ?
667 :
660 :04/11/16 21:47:31 ID:???
そうだ、あと mdb ファイルとそれの格納フォルダに IUSER_{サーバ名}:C (変更)以上の権限があるかも 確認してみれ。ASPの実行ユーザが変えられていたら、そのユーザが mdb を変更できるか。
>>667 確かその場合はエラーメッセージが分かりやすく表示されるはず
669 :
615 :04/11/17 15:06:19 ID:???
>664 >時に、objRS とか name ってどこで宣言してるの?まさか局所変数だったりして… 漏れももしやとは思ったのだが、エラーメッセージがそれらしく出力されてるから グローバルになってるのかとおもたのだよ。 ASP素人氏には各変数をどこで定義しているか聞きたい。
670 :
ASP素人 :04/11/17 21:41:41 ID:87XfvWNx
>>615 さん
<%
DimObjConn ,ObjRS
'パラメータを取得します。
name = Request.Form("name")
mail = Request.Form("mail")
act = Request("act")
'デフォルトページを登録画面に設定します。
if act = "" then
act = "ent"
end if
これでしょうか?
一番初めの部分です
> DimObjConn ,ObjRS ~~~~~~~ ここにスペースが無いのはコピペミス?
672 :
615 :04/11/18 09:47:24 ID:???
なんとなく原因は>667のような気がしてきたよ。 >670 <% のすぐ下の行に Option Explicit を書き込んでみて。未定義の変数が使われるとエラーが表示されるようになるから。 既に記述していたら不要だけど。 現状では変数の有効範囲が曖昧で混乱を招いているからおながいします。
673 :
ASP素人 :04/11/18 13:31:45 ID:DA9fr5zw
>>671 それはコピペミスでしたすんません。
>>672 やりました。
そしたら
Microsoft VBScript 実行時エラー (0x800A01F4)
この変数は宣言されていません。: 'name'
/boshu.asp, line 6
と・・・・
権限は一応チェックしますた。
674 :
659 :04/11/18 14:29:47 ID:???
>ASP素人氏 可能なら使用している全ての変数を明示的に宣言して。 あとベタだけどAccessのメニューでテーブル[member]に書き込み権限があるか みてください。
675 :
nobodyさん :04/11/18 16:25:00 ID:y/ZLmA11
スレ違いかもしれんが教えください。
ttp://www.geocities.jp/activex_treeview/ ↑OS2000 Vbはインストールされていない端末で
ActiveXを使ったツリービューが見れないだよね。
xp や NTでは見ることが出来たんだが・・・?
どの端末もVbが入っていれば見れます。
Vbなしで見る方法ありますか?
Vbランタイムでは×
ASPスレにも書き込むけど、だれか教えて。何が必要なんだ〜??
676 :
615 :04/11/18 18:24:49 ID:???
>673 「この変数は宣言されていません」っていうエラーが消えるまで 変数を定義しる。ついでにその変数は何のために使う変数なのか コメント入れとけばメンテが楽になるよ。まぁこの変数名なら分かるけど。 それから更新対象のテーブルの定義を書き込んでみて。 フィールド名とかデータ型の一覧。 そしてフィールド名の左隣の列に鍵マークが付いているか。 Accessならテーブル選んでデザインをクリックかなんかすれば見られる。
677 :
615 :04/11/18 18:30:23 ID:???
>675 マルチは感心せぬが。 classidをレジストリから検索したら、ツリービューコントロールは COMCTL32.OCX の中に入っているらしいことが判明。 対象PCにコピーしてREGSVR32.EXEで手動登録すれば動くかも。 ※OSがどうなっても保証はしません。知りません。独り言です。気合いでGO!
678 :
659 :04/11/18 21:06:15 ID:???
C:\Temp\www\member.mdbに テーブル member(主キー無し) カラム name (テキスト型 サイズ:20), mail (テキスト型 サイズ:20) 作成後、 ASP素人氏のコードを借りて IIS5.0 の環境で下記スクリプトを実行してみた。 (フォーム) <html> <head> <title>Test Form</title> </head> <body> <form action="test.asp" method="post"> name : <input type="text" name="name" size="20"><br> mail : <input type="text" name="mail" size="20"><br> <input type="submit" name="submit" value="送信"> </form> </body> </html>
679 :
659 :04/11/18 21:08:46 ID:???
(test.asp) <html> <head> <title>ASP_TEST</title> <% Dim ObjConn ,ObjRS Dim Name, Mail Sub ConnDB() Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.Mode = 2 'adModeWrite - 2 adModeReadWrite - 3 ObjConn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=C:\Temp\www\member.mdb" ObjConn.Open StrSQL = "select * from member" Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open StrSQL, ObjConn,, 3 End Sub Sub UpdateDB() ObjRS.AddNew ObjRS.Fields("name") = Name ObjRS.Fields("mail") = Mail ObjRS.Update End Sub %> </head>
680 :
659 :04/11/18 21:09:47 ID:???
<body> <% Name = Request.Form("name") Mail = Request.Form("mail") Call ConnDB Call UpdateDB ObjRS.Close ObjConn.Close Set ObjRS = Nothing Set ObjConn = Nothing %> <h4>テーブルmemberの内容</h4> <% Call ConnDB Response.Write "<table border=" & """1""" & ">" Do Until ObjRS.EOF Response.Write "<tr><td>" Response.Write ObjRS.Fields("name").Value & _ "</td><td>" & ObjRS.Fields("mail").Value & "</td></tr>" ObjRS.MoveNext Loop Response.Write "</table>" ObjRS.Close ObjConn.Close Set ObjRS = Nothing Set ObjConn = Nothing %> </body> </html>
681 :
659 :04/11/18 21:14:12 ID:???
テーブルの更新・閲覧共に何の問題も無し。 ユーザー権限とかテーブルのアクセス権に問題が無いなら やっぱり変数のスコープの問題かも。。。
682 :
ASP素人 :04/11/19 12:15:43 ID:LqCvowdj
>>659 さん
一応コピペして一部なおしてやってみたのですが、
エラーでがでました。
ってことはおっしゃるとおり
>ユーザー権限とかテーブルのアクセス権に問題が無いなら
やっぱり変数のスコープの問題かも。。。
ということなんでしょうかね〜。
IIS5でXPproの環境なのですが、
↑のユーザー権限とテーブルのアクセス権について徹底的に教えていただけますか?
683 :
659 :04/11/19 13:12:52 ID:???
>>678-680 はインデントを入れる為に全角スペースが入ってる(書き込みの時にタブが無視される)
ので使うなら取り除かないとエラーが出るよ。
>ユーザー権限とテーブルのアクセス権について徹底的に教えていただけますか?
いや、別にそんなに難しい話じゃないのよ('A`)
ユーザー権限については
>>660 氏が
>>667 で書いてある事がどうかって事だし、
テーブルのアクセス権は、mdb作成→テーブル作成の間に「ユーザー/グループの権限」
をいじっていなければ問題は無いはずだから(Access2000の話なんでOffice XP以降のバージョンは違うかも)。
気になっていたんだけど、
>>670 と
>>657 は両方とも boshu.asp 内にあるのかね?
差し支えなければ boshu.asp のコード全部晒してみ?
それと
>>615 氏の言っている更新対象のテーブルの定義も。
684 :
675 :04/11/19 14:30:07 ID:???
>>677 どうもありがとうございます。がんがって挑戦してみます。
685 :
675 :04/11/19 15:32:47 ID:???
>>677 駄目ですた。あと何がいるのだろう・・・。
686 :
615 :04/11/19 16:15:11 ID:???
>685 駄目ですたって何が駄目ですたの? 表示されなかったから駄目って書いたのだろうけど、 REGSVR32.EXEでの登録は成功したの? あと一応登録後、再起動してから試してみた? っつぅかぶっちゃけ分かんないしスレ違いなので書きたくないのだが(ォ VisualStudio(6.0)に付いてくるDependency Walkerっつぅツールで COMCTL32.OCXを覗くと、このファイルが使用している他のファイルのリストが みられる。
687 :
nobodyさん :04/11/19 16:25:56 ID:Dfi0Lnle
掲示板作ってる途中で、ふと気付いたんですけど。 ユーザーAが必要事項を記入してサブミットを押しました。 サーバ内のテキストファイルがopenして、入力内容を書き込んでます。 この時、ユーザーBがサブミットボタンを押したらどうなるのでしょうか? テキストファイルをcloseする前に、open命令が出る形になるので、マズイような気がします。 もしエラーが出るようなら、解決策、もしくは皆様の対策を教えて下さい。
688 :
659 :04/11/19 16:46:13 ID:???
689 :
675 :04/11/19 16:49:37 ID:???
>>685 すみません。
REGSVR32.EXEで登録しました。
レジストリーエディタでID検索したら
hitはしたので登録は大丈夫だと思います。
もちろん再起動もしました。でも表示されませんでした。
Dependency Walkerはこれから使ってみようと思います。
スレ違いなのは承知です。ただどこのスレに書けばいいのだろう・・・。
615氏もう少しお付き合いください。申し訳ない。
690 :
675 :04/11/19 17:04:39 ID:???
>>688 ありがとうございます。頑張ってみます。また結果書きます。
691 :
675 :04/11/19 17:39:38 ID:???
>687 「ファイル ロック 排他」あたりをキーワードにぐぐってみれ。 具体的にはApplication.LockとUnlockを使うことになるのかな。
>>687 Application.Lock
↓
ファイル入出力とか複数ユーザが同時にやるとヤバそうな処理
↓
Application.Unlock
695 :
ASP素人 :04/11/20 10:10:40 ID:+ocqxxRz
<% Option Explicit DimObjConn,ObjRS 'パラメータを取得します。 name = Request.Form("name") mail = Request.Form("mail") act = Request.Form("act") 'デフォルトページを登録画面に設定します。 if act = "" then act = "ent" end if '登録確認画面でエラーチェックをします。 if act = "entconf" then flg_err = "" if name = "" then flg_err = "name" end if if mail = "" then flg_err = "mail" end if end if 'エラーがある場合はエラー表示画面に移動させます。 if flg_err <> "" then act = "err" end if
696 :
ASP素人 :04/11/20 10:11:45 ID:+ocqxxRz
'================================================= 'HTML表示処理開始 '================================================= %> <% Call ConnDB'DBに接続します。 %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <title>メンバー募集フォーム</title> </head> <body> <h2>メンバー募集フォーム</h2> <% '-- ページ内容の表示 Select Case act Case "entconf"'登録確認 Call Gamen_entconf Case "kan"'処理完了 Call Gamen_kan Case "err"'エラー Call Gamen_err Case else Call Gamen_ent end select %> </body> </html> <% Call CloseDB
697 :
ASP素人 :04/11/20 10:13:41 ID:+ocqxxRz
'================================================= '----- 登録画面 '================================================= Sub Gamen_ent( ) %> <form method="POST" action="boshu.asp"> <table border="1"> <tr> <td>お名前</td> <td><input type="text" name="name"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="mail"></td> </tr> </table> <input type="hidden" name="act" value="entconf"> <input type="Submit" name="sub" value="確認"> <br> </form> <% End Sub
698 :
ASP素人 :04/11/20 10:14:05 ID:+ocqxxRz
'================================================= '----- 登録確認画面 '================================================= Sub Gamen_entconf( ) %> <h2>登録内容を確認してください</h2> <form method="POST" action="boshu.asp"> <table border="1"> <tr> <td>お名前</td> <td><% =name %></td> </tr> <tr> <td>メールアドレス</td> <td><% =mail %></td> </tr> </table> <input type="hidden" name="act" value="kan"> <input type="Submit" name="sub" value="登録実行"> <br> <!-- 隠し項目にセット --> <input type="hidden" name="name" value="<% =name %>"> <input type="hidden" name="mail" value="<% =mail %>"> </form> <% End Sub
699 :
ASP素人 :04/11/20 10:15:02 ID:+ocqxxRz
'================================================= '----- 処理完了画面 '================================================= Sub Gamen_kan( ) %> <% Call UpdateDB()'データを追加します。 %> <form method="POST" action="boshu.asp"> <table border="0"> <tr> <td> <h2>ご登録ありがとうございました</h2> </td> </tr> </table> <input type="hidden" name="act" value="iti"> <input type="Submit" name="sub" value="登録画面へ"> <br> </form> <% End Sub
700 :
ASP素人 :04/11/20 10:16:04 ID:+ocqxxRz
'================================================= '----- エラー表示画面 '================================================= Sub Gamen_err( ) %> <form method="POST" action="boshu.asp"> <table border="0"> <tr> <td><h2>エラーがあります</h2></td> </tr> </table> <input type="button" value="戻る" onclick="history.back();"> <br> </form> <% End Sub '================================================= '----- DBに接続 '================================================= Sub ConnDB() 'スクリプトと同じフォルダにあるAccessのmember.mdbに接続します。 DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _ Server.Mappath("member.mdb") Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.open DBName End Sub
701 :
ASP素人 :04/11/20 10:17:09 ID:+ocqxxRz
'================================================= '----- DBにデータを追加 '================================================= Sub UpdateDB() StrSQL = "insert into member (" StrSQL = StrSQL & " name, " StrSQL = StrSQL & " mail " StrSQL = StrSQL & ") values (" StrSQL = StrSQL & "'" & name & "'," StrSQL = StrSQL & "'" & mail & "'" StrSQL = StrSQL & ")" ObjConn.Execute StrSQL End Sub '================================================= '----- DBを閉じる '================================================= Sub CloseDB() ObjConn.Close Set ObjConn = Nothing End Sub %>
702 :
ASP素人 :04/11/20 10:17:54 ID:+ocqxxRz
これで以上です。
>694 Applicaton.Lockを使う場合 ファイルへのロックというより、ファイル操作するコードへの進行をロックする感じ。 Javaのsynchronizedとか、Win32APIだとCriticalSectionぽい発想かな。
>>703 いやだからApplication.Lockじゃ
>ファイルへのロックというより、ファイル操作するコードへの進行をロックする感じ。
が出来ないって言ってるわけで。
すみません、困っています。 どなたかWEBアプリケーションを作れる方、 相談にのっていただけませんか? 「こういうWEBプログラムが作りたい」という案は すでにあります。自宅サーバーもすでにあります。 平日の夜、都内で焼肉をおごります。 もし、「それなら作れるよ」ということでしたら 数万円の謝礼をお支払いする用意があります。 よろしくお願いいたします。
706 :
659 :04/11/20 17:42:11 ID:???
書き込もうとしたら30分差でプロパ規制か…orz
>ASP素人氏
>>695-701 を Option Explicit を取った状態で
>>678-680 で使ったmdbで試してみた。
………普通に登録できますた。。。
ConnDB()とUpdateDB()を
>>657 のコードに差し替えて
ConnDB()内の ObjConn.open .... の部分だけ書き換えたコードも
試したけど、これも登録できますた。
コピペの内容を見る限り、
とりあえず変数の取りまわしがおかしいって事はなさそうだから、
後は権限周りとmdbのテーブルを徹底的に確認しる!
それとパーソナルファイヤーウォールとか入っているなら無効にしてから
実行してみて。
それでも駄目なら、そちらのテスト手順の問題かWindows XPにSP2当てておかしくなりますた。。。
ぐらいしか思いつかんです。
707 :
テム・レイ :04/11/21 01:14:31 ID:IhuSU57V
質問。 まれにあるIISの制御不能状態。 (再起動すれば直るやつ) の発生条件は結局なんなのでしょうか。 無限ループやってるとかバカなオチではないです。 どうもまれに発生するようで・・
708 :
テム・ジン :04/11/21 01:59:39 ID:ZshPsh4w
質問。 まれにあるパソコンの制御不能状態。 (再起動すれば直るやつ) の発生条件は結局なんなのでしょうか。
709 :
ASP素人 :04/11/28 00:40:42 ID:dbF1/8oJ
>>659 サンとこのスレの皆様
解決しますた。
やはり権限に問題あったと思われます。
DをNTFSからFAT32にしてやってみたところちゃんとできますた。
心から感謝申し上げます。
で・・・・
'=================================================
'----- DBにデータを追加
'=================================================
Sub UpdateDB()
StrSQL = "insert into member ("
StrSQL = StrSQL & " name, "
StrSQL = StrSQL & " mail "
StrSQL = StrSQL & " id "
StrSQL = StrSQL & " pass "
StrSQL = StrSQL & ") values ("
StrSQL = StrSQL & "'" & name & "',"
StrSQL = StrSQL & "'" & mail & "'"
StrSQL = StrSQL & "'" & id & "'"
StrSQL = StrSQL & "'" & pass & "'"
StrSQL = StrSQL & ")"
ObjConn.Execute StrSQL
End Sub
↑のとこなんですけど
idとpassを増やしてみたらすぐエラーですた・・・。
きっとStrSQL = StrSQL & " name, "のnameの後の「,」とかにいろいろ関係しているのかな?
とか思ったんですけど、どうなんでしょうか・・・??
どういうふうに直せばよろしいでしょうか?
列名と値、それぞれmailとidの後に,が抜けてる。 列名の方はまんま「mail,」「id,」として、値の方は「〜 & "'"」を「〜 & "',"」ね。 SQLでエラーが出たら、まずエラーになってるSQL文を画面なりログに出力してみませう。 あと、コマンドラインからosqlが使えるなら、osqlで接続してそのSQL文を直接投げると、 SQLServerからもう少し詳しいエラー情報をもらえるかも。
>>709 そんな書き方するなら絶対にRecordSet越しにAddNewした方がいい。
マジで。
713 :
ASP素人 :04/11/28 16:34:50 ID:30XD0iuk
>>710 サン
無事成功しますた。
ありがとうございました。
ADODB.Commandマジおすすめ。
便乗で聞いてみたいんだけど、DBを更新するときSQL文で更新させた方がいいの? 俺はいつもADO使ってUpDateしちゃうんだけど。
相手がSQL Serverなら当分はいいんじゃないの。 ただ、ADO以外の世界に行ったとき、UPDATEが使えないと困ることもあるかもね。
717 :
nobodyさん :04/11/30 07:22:16 ID:tivpUcTG
一日に一回、とあるDatabaseをチェックして、しきい値を超えてる場合 アラームmailを対象者に対し発信するというプログラムを作ることになりました。 多分、バッチを動かして・・・という事だとは思うんですが・・・ ご経験のある方いらっしゃいますか? 参考になるサイトなど教えていただけると幸いです。 (IIS+SQLServer)
どうせ社内のSQL Serverしか使わないからADO使うことにしとく。
>>717 VBS+BASP21+タスクスケジュールでそれっぽいの作ったことがあるが...
ASPとは関係ないんではないかい?
720 :
717 :04/11/30 20:31:15 ID:tivpUcTG
>>719 レスありがとうございます。
いろいろ調べて見ました。
BASP21のbhelper.exe? basp21p.iniの設定?・・・
basp21p.iniに**.asp(メール送信)のパスを書いて
そのaspファイルを実行するためのbatファイルを
タスクスケジュールで動かすということでしょうか?
さらに調べて見ます・・・
721 :
719 :04/11/30 20:47:48 ID:???
>>720 VBScriptファイル(例:dbcheck.vbs)にDBのチェックルーチンを書いてBASP21のSendMailを使ってメールを送る。
タスクスケジュールからそのVBScriptファイルを起動するように設定するだけ。batは別にいらない。
ほかにもいろいろやり方ある。がんがれ。
>717 SQL Server Agent に監視してもらうのがいいんでない?
723 :
717 :04/12/01 19:20:01 ID:mG+eCHVU
719さん、アドバイスありがとうございます。 下記のようなものをタスクで動かすといったことでしょうか? m_from = "******@***.co.jp" m_title = "アラーム" m_to = "*****@***.co.jp" m_sv = "***.**.**.***" Set Conn = Server.Createobject("ADODB.Connection") Conn.Open "usr1","usr1","user2" SQL = "select * from alarm" Set db = Server.Createobject("ADODB.Recordset") db.Open SQL,Conn,3,3 gen = trim(db("AAA")) zan = trim(db("BBB")) shamei = trim(db("CCC")) if gen < zan then Do while NOT db.eof m_name = "社名:" & shamei db.MoveNext Loop Set Objbasp = Server.Createobject("basp21") rc = Objbasp.Sendmail(m_sv,m_to,m_from,m_title,m_name,"") end if Conn.Close
724 :
719 :04/12/02 12:34:08 ID:???
>>723 そんな感じのスクリプトを1時間おきとかに走らすようにスケジュールすればいいと思ふ。
725 :
nobodyさん :04/12/04 18:06:40 ID:OgiZkJNR
USER_AGENTを使って、各キャリア毎に別ページにRedirectかけてるのですが、 auの古い機種(A1304T)だとRedirectがききません。 ジャンプ先のURLを直打ちしてやると問題無く表示されます。 最近の機種だと、期待通りの動作をします。 何か良い解決策はありませんでしょうか? 最悪、auだと判明した時点で、「auの方はこちら」と HTMLでリンクを表示させようと思ってますが、ちょっとそれはカッコ悪いので…。
>725 リダイレクトでなくServer.Transferしてしまうのはどうか。
>>725 リダイレクト時のURLを相対指定じゃなく絶対指定にしても駄目?
728 :
nobodyさん :04/12/05 01:30:19 ID:0MhJ+aQV
>>715 昔DBマガジンか何かで読んだけど
ADODB.Command + Parameterオブジェクト
↓
sql文を ADODB.Connection で実行
↓
Recordsetでfieldを入力し、 Update
らしい。
729 :
728 :04/12/05 01:31:29 ID:???
書き忘れてたけど、性能ね。 Commandオブジェクトが一番速いらしい
>729 ストアドプロシージャを使えるならそれが最速だわな。 RecordSet でUpdateは、バッチ更新モードにしたら結構速そうな気がするけどどうなんだろう?
731 :
こうたろう :04/12/08 02:00:58 ID:+LYJFTt5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> </HEAD> <BODY> <P>フォームとPHPの連携</P> <FORM method="POST" action="smp4-01.php"> キーワード <INPUT size="20" type="text" name="keyword"> <BR> <BR> <INPUT type="submit" name="exec" value="実行"> <INPUT type="submit" name="cancel" value="キャンセル"> </FORM> </BODY> </HTML> にアクセスしてPHPと文字を入力してsmp4-01.php↓ <?php print $keyword . "<BR>"; print $exec . "<BR>"; ?> に飛ぶんですけど Notice: Undefined variable: keyword in C:\Program Files\Apache Group\Apache2\htdocs\smp4-01.php on line 3 Notice: Undefined variable: exec in C:\Program Files\Apache Group\Apache2\htdocs\smp4-01.php on line 4 どうしても↑になるのは何がいけないんでしょうか?宜しくお願いします。
そもそもここは(ry
734 :
715 :04/12/09 11:48:01 ID:???
>>728 メモしますた。
全然関係ないと思うけど、レコード件数を数えるのに
ADODBのRecordCountとSQLのCount(*)で時間を比べたらSQLのが確実に早かったです。
>734 Count(主キー列名)にするともっと速いらしいぞ。
736 :
ASP素人 :04/12/10 11:17:31 ID:Z21oO7ei
データベース使って ユーザーごとにページ振り分けをASPでしたいんですが、 どのページ参考にすればいいですか?
737 :
nobodyさん :04/12/10 15:35:46 ID:eati1ZOZ
質問させて下さい。 JScriptでcookieの有効期限を1時間後に設定したいのですが、上手く動きません。 ソースはこんな感じです。 var d,ti,kigen,d2; d = new Date(); ti = d.getTime(); kigen = parseInt((ti + 600000),10); d2 = new Date(kigen); //クッキーの作成 Response.Cookies('kukki').Expires = d2; //クッキーの受信 Response.Write(Request.Cookies('kukki')); Response.End(); クッキーの作成の部分で「型が一致しません」と表示されエラーになってしまいます。 宜しくお願いします。
739 :
nobodyさん :04/12/10 18:01:17 ID:eati1ZOZ
>738さん ありがとうございます。 ただ、分単位での期限設定が出来ません。 60分後にクッキー削除したくて、以下の様に記述するとエラーになります。 Response.Cookies("cookie1") = "kuki" Response.Cookies("cookie1").Expires = 60 2行目の部分を Response.Cookies("cookie1").Expires = Date+1 というような、1日単位での設定はできてるみたいなのですが。 Cドライブのcookiesフォルダの中に、クッキーが作成されないのも気になります。 あと、できればJScriptでの記述が載っているページも教えて頂けませんか? VBは慣れてないのでムズカシイです…。
どうして直接60とか設定しようとするんだ? 現在の日付時刻に60分足したらいいだけじゃないのか?
741 :
nobodyさん :04/12/11 12:55:51 ID:nhn6UiYD
>740さん そう思ってJSで、737の様な記述にしたんですが、上手く動かず。 VBでは739の次に Response.Cookies("cookie1").Expires = Date + Minute(60) という記述も試してみたのですが、ダメでした…。 VBでもいいので、現在時刻に60分を追加する方法を教えてもらえませんか?
743 :
742 :04/12/11 13:36:05 ID:???
教えてください。 ASPでExcelを生成・操作するとき IISが実行されているサーバに MS-Officeがインストールされている 必要はあるのでしょうか?
ないよ。Excelで保存できるって言ってもHTMLの拡張子をxlsにしたようなもんだから あまり関係ない。
え?Excelが入ってないとだめだろ。
Server.CreateObject("Excel.Application")てしたいんだったら 多分鯖にExcel入ってないとダメでそ。
749 :
nobodyさん :04/12/17 01:51:02 ID:I091fOI9
ここ数日以下のことで悩んでます、。 Webサーバ:Win2k IIS5 + ASP(VBScript) (Shift-JISでコーディング) DBサーバ:Fedora core + PostgreSQL7.4 (UTF-8でTable作成) 環境でASPの勉強をしているのですが、 ADOでデータを取得した場合 文字化けが発生しました。 (DBサーバをEUCにしたら文字化けはしません。) UTF-8 のデータを扱いたい場合、注意する点等あれば教えてください、、。
750 :
749 :04/12/17 01:52:28 ID:???
UTF-8 で table 作成っておかしいですね、、 create -E UTF-8 データベース名 でDBを作成しました。。
751 :
745 :04/12/17 10:54:15 ID:???
Response.ContentType = "application/vnd.ms-excel" これ使ってExcel保存する場合は鯖にExcelなくても大丈夫 中途半端な説明でごめん。 ただこれで保存してもソース見るとただのHTMLでXLMじゃないから 注意してねん
>>749 正直PostgreSQLスレで聞くべきだと思うのだけど…
ざっと思いついた確認事項
1.コンソールから psql -l でデータベースのエンコーディングを確認する
2.psqlで select * from <該当テーブル名> で文字化けして取り込まれていないかチェック
3.クライアントエンコーディングの設定
特に3番目は要チェック
学校の課題でCSVファイル内を検索するASPのプログラムを作ってるんですが 処理が非常に重いためブラウザへの出力処理がかなり遅れます 重い検索処理をしている間は「検索中」と表示したいのですが どうやればいいでしょうか(´・ω・`)
>>754 一番簡単な方法が、
「検索中」と書いたプレーンHTMLからMETAタグでASPに飛ばす。
ファイルが2つになるのが嫌ならQueryString使えばいい
test.asp にアクセス
↓
<META>タグですぐに test.asp?search にリダイレクト
↓
サーバ内で計算している間はページ遷移が起きないため test.asp に書かれている「検索中」が表示されたまま
↓
サーバ内で計算が終わると、ブラウザに test.asp?search の内容が送られる
ちなみにASPのバッファのフラッシュとかすればできるみたいだけど、漏れはできた試しがない
こんな感じかな <% if (Request.QueryString().Item()!="search") { %> <html lang="ja"> <head><meta http-equiv="Refresh" content="0;URL=test.asp?search"></head> <body>検索中...</body> </html> <% } else { %> <html lang="ja"> <head> ....
デキタ━━━━(゚∀゚)━━━━!! ありがとうございます、 丁寧に例まで書いてくれて本当に・゚・(ノД`)・゚・。
フォームから任意に単語を入力してもらって検索するプログラムを書いてるんだけど、 もしその中に「SELECT」とか「"」とか入力されたらエラーになりますよね。 例)「名無し」と入力すると SELECT * FROM Test WHERE Name = '名無し' これがもし「SELECT」「'」だったらエラーが返ってきます。 そういったSQL文に含めちゃいけない文字や単語一覧が載ってるサイトとかありますか? 例文とかあると助かるのですが。
>>758 それは板違い。データベース板へGO!
一つだけ言っとくと「SQL文に含めちゃいけない文字」なんて無い。
要はデータベースにとって特別な意味を持つ文字(デリミッターに使う文字とかワイルドカードとか)
を含む場合は、それに応じた処理をすればいいだけの話。
761 :
758 :04/12/25 11:58:10 ID:???
DB板へいってきます(*´д`)
予約語なら データベースのヘルプファイルのキーワードのところに予約語と入力すれば一覧表が表示されるが。
過去ログ読んでて ASPでAccess使うやつは糞って言われてるのは何故ですか? 検索しても分かりませんでした(´・ω・`)
>>763 Accessは基本的にスタンドアロンでの使用を想定したデータベースだから
>>763 みんなmdbは糞だいって無理にMSDE使いたがるけど、
MSDEでWebDBやってるデータベースのほとんどはmdbでも十分。
mdbなんてコピーするだけで別のサーバにデータ移せるし、インストールもいらないしね。
ADOで接続するなら接続プロバイダーが違うだけだから、mdbでやって不都合があるなら
MSDEや他のDBにアップサイジングするのをおすすめします。
766 :
763 :05/01/12 23:32:10 ID:???
>>764 ,765
レスサンクス!
なるほど、それじゃ特別に欠点があるわけじゃないんですね、、
今学校の課題でASP+mdbでプログラムを作ってるんですが
プログラムのサイズが大きくなってくるに伴い、
Provider (0x80004005)
エラーを特定できません
というエラーを出すようになってしまったんです。
エラーの出るタイミングはランダムでまったく出ないときもあります
一度でると数秒待って実行しないと連続で出ます
エラーは
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open sp
で発生してるみたいです
開発&実行環境は
Win XP Pro,
IIS 5.1
一応学校の教師にも聞いてみたんですがタスクが壊れてるんじゃないかな
と言う答えだけで解決はできませんでした
もしタスクが壊れているとしたら解決法はないでしょうか、
もし違う原因が考えられたらそれも教えて欲しいです
よろしくお願いします。
×:タスク ○:スタック (;´Д`)
768 :
水瓶 :05/01/13 01:20:49 ID:b40uSWu1
はじめまして、ASP初心者のです。 まず、現状をご報告致します! サーバー環境 Windows2000 Server IIS5.0 basp21 クライアントのブラウザからJPEGファイルのアップロード をさせたいのですが・・・サイズが大きいファイルをアップ ロードされてしまいます。サーバー側でアップロードファイル のサイズ指定をしたい所ですが、クライアントの中には面倒臭い と言う方が多く・・説明時間が非常にもったいないので。 サーバー側でアップロードされた画像ファイルのサイズ変更を 行なうにはどうしたらよろしでしょうか? ※ちなみにレンタルサーバーを借りているので、コマンドを使用 して画像を一括縮小するようなexeは起動できません。 みなさまどうかお力をお貸し下さい、宜しくお願い致します。
>>768 ISAPIが利用できるのであれば...
771 :
水瓶 :05/01/13 10:01:02 ID:b40uSWu1
返答ありがとうございます! 早速ですが・・ISAPIで使用できる 画像サイズ縮小の簡単なサンプルコード があったら教えて下さい。 宜しくお願い致します!
>>770 クローズ処理が抜けている箇所がありました、
まさかこれがこんなエラーになるなんて、、
修正後は1度もあのエラーが発生してないので
原因はこれの可能性大です
ありがとうございましたm( " )m
773 :
nobodyさん :05/01/15 00:12:37 ID:T9jb4et6
こんちは。 家には、XP Home Edition が二台あります。これらを使用してASPがうごかせないですか? あるサイトでASPを動かすにはIIP(だったかな)が必要で通常の httpd142n なんかでは うごかないそうです。 そこで、XP Home Editionが二台あったことを思い出し、一台はウェブサーバーにしてもう一台 は通常のクライアントPCにすることによってASPが動かせないかな? と思っていますが、 いかがでしょうか? もし可能だったらHome Edition同士のネットワークの組み方も教えてください。
>>773 バージョンを含めたアーカイブファイル名でhttpd142nなんていうな。
それは「AN HTTPD」というWebサーバ。
さらに、IIPじゃなくてIIS。
ASPを動かすためにはIISかPWSが必要だが、XP HOMEには
どちらも付属していないしサポートされていない。
動かすのが不可能ではないが初心者には無理。
素直にXP PROを買え。
それ以前になぜASPなのかが疑問だけどな。
ネットワークの組みかたは板違いなので初級ネット板で。
>773 意味があるかどうかは激しく疑問だが Apache::ASPっつーものもこの世にはないではない。
778 :
水瓶 :05/01/16 22:45:09 ID:zwbLgbaT
775の方、ありがとうございます! さっそくサイトの方を拝見しました。 Englishサイトだったので・・ちょっと探すのに 時間がかかりましたが、Imager Resizerと言う物 をGetできました、これから、英文と格闘して何とか したいと思います、本当にありがとうございます。 感謝、感謝しております。
>>773 今ならまだステップアップグレード版が買える。
780 :
nobodyさん :05/01/19 13:28:55 ID:bcQ8immq
質問させて下さい。 form(POST)受けた情報が正しければ、 その情報をtxtに書き込み、 5秒間「ローディング中」のgif画像を表示した後、画面を切り替え、 入力された情報が確認用に、画面表示される。 というスクリプトが書きたくて、行き詰ってます。 入力情報をtxtに書き込み、確認表示させる事は出来たのですが、 間にローディング中を挟むと、期待通りの動作をしません。 どなたか解決方法教えて下さい。 ソースはこんな感じ↓です。 Sub KAKIKOMI() 入力された情報をtxtに書き込み Call LOADING()'ロード中サブルーチンの呼び出し End Sub Sub LOADING() Response.Write("<img src='loading.gif'>")'ロード中の画像 Dim TimerStart, TimerEnd, TimerNow, TimerWait TimerWait = 5 TimerNow = Timer TimerStart = TimerNow TimerEnd = TimerStart + TimerWait Do While (TimerNow < TimerEnd) TimerNow = Timer If (TimerNow < TimerStart) Then TimerNow = TimerNow + 86400 End If Loop Call HYOUJI()'確認画面を表示するサブルーチンの呼び出し End Sub
782 :
nobodyさん :05/01/19 16:47:34 ID:SN13QhSb
今時ASPかよ! 時代はPHPだろ?
yahooジオシティでHPを作ってるんですけど mdbとaspを使用してサーバー上でデータベースの検索、更新等を行いたいのですが できるのでしょうか? yahooジオシティではmdb,asp,js等のファイルが使用可能になってますが やり方が分からないです。いろいろ探したんですけどそれっぽいのがありません。
>>783 >yahooジオシティではmdb,asp,js等のファイルが使用可能になってますが
アップロードできるファイルの拡張子と利用できることは別。
それとも有料版とかは利用できるのか?
785 :
nobodyさん :05/01/19 17:34:45 ID:JyTQskK2
>>784 なるほど。確かに転送可能としかなってませんな。
有料版はよくわかりません。
となると他のレンタルサーバーでやるしかないか。
787 :
nobodyさん :05/01/22 17:02:52 ID:cI+rNlDv
VBScriptでカレントディレクトリのパスを取りたいのですが、 wwwrootにあるaspファイルでFileSystemObject.GetFolder(".")のようにすると C:\Inetpub\wwwrootではなくC:\WINDOWS\System32が返ってきます。 カレントのパスを取ることはできないのでしょうか。
>>787 Request.ServerVariables("APPL_PHYSICAL_PATH")
789 :
787 :05/01/22 17:27:33 ID:cI+rNlDv
>>788 レスありがとうございます!!
しかしこれだとカレントではなくサーバーのルートになってしまうみたいです。。。
>>787 Server.Mappath()
* やりたいことを勘違いしてたらごめん
791 :
nobodyさん :05/01/22 18:59:00 ID:HKaXY9jS
ASP にてファイルロックをしたいです。 読み取りロック、書き込みロックができるといいですが、どんな方法があるでしょうか?
792 :
787 :05/01/22 19:16:21 ID:cI+rNlDv
>>790 おお!まさにこれです!Server.Mappath(".")でカレントが取れました!
ありがとうございました!!(・∀・)
Application.Lock
795 :
791 :05/01/22 23:10:46 ID:???
>>793 ,794
ありがとうございます。
ただ、Application.Lock みたいな、サーバ全域に及ぶ大雑把なロックではなくて、ファイル単位にロックを
掛けたいのです。
というのは、たとえば複数板を持つ掲示板のように、ロック対象のファイルが独立に何個もあるからです。
つまり、ログAに対するアクセスとログBに対するアクセスは排他する必要がないですよね。
もちろん、具合のいい手段が無ければ Application.Lock を採用せざるを得ないと思っています。
>>795 複数Lock用の変数があったって何も問題ないと思うぞ。
それにApplication変数はサーバ単位じゃなくてアプリケーション単位だし。
Windowsはflockができないから
Application.Lockが嫌ならロックファイル作ってfsoのFileExistsくらいしかないと思うぞ
797 :
791 :05/01/23 00:41:16 ID:???
>>796 >複数Lock用の変数があったって何も問題ないと思うぞ。
Lock用の変数というのがいまいちよくわからないのですが、どういうことなんでしょうか?
ロックしたいファイル毎に変数を用意して、その変数ごとにロックをかけることができるということでしょうか?
>それにApplication変数はサーバ単位じゃなくてアプリケーション単位だし。
Application はアプリケーション単位とのことですが、test1.asp、test2.asp を作って、それぞれのスクリプトで
Application("MyValue") に対して値を格納、取得してみると、Application は test1.asp、test2.asp で共通の
オブジェクトであることが確認できます。
ですので、同一サーバ内の ASP 共通のオブジェクトだと思っていたのですが、認識が違ったでしょうか?
というか、そもそも根本的な質問となってしまい恐縮ですが、IIS で言うところの「アプリケーション」って
なんですか?
自分のマシンにとりあえず IIS を入れて遊んでいるのですが、インストールしっぱなしで何も考えずに
wwwroot の下にスクリプトを作って実験しています。
ですが、アプリケーションというのがどういう単位のものなのか、よく分かってないです・・・
>Application.Lockが嫌ならロックファイル作ってfsoのFileExistsくらいしかないと思うぞ
これについても検討しました。
ようするに、自前のループを構成し、ロックファイルをチェックしながらロックが解除されるまでループするわけですよね。
この処理に欠かせないものとして、他言語で言うところの Sleep が必要だと思うのですが、ASP での Sleep って
なんでしょうか?
>>797 >>797 > Application はアプリケーション単位とのことですが、test1.asp、test2.asp を作って、それぞれのスクリプトで
> Application("MyValue") に対して値を格納、取得してみると、Application は test1.asp、test2.asp で共通の
> オブジェクトであることが確認できます
Application("test1.asp"), Application("test2.asp") って2つ作ればいいのでは?
> ようするに、自前のループを構成し、ロックファイルをチェックしながらロックが解除されるまでループするわけですよね。
> この処理に欠かせないものとして、他言語で言うところの Sleep が必要だと思うのですが、ASP での Sleep って
> なんでしょうか
Application変数使う場合も同じだよ。
変数の方がファイル作るより速いし、値の更新ロックもかけられて安全だからね。
SleepはBASP21でやればいいし。
ただ、Application.Lock/UnLockはすべてのApplication変数をロックするから、長い間ロックしないように。
まぁ、そもそもadoとかfso使って書き込む場合はプロセスがファイルをロックするから
ロック制御なんていらないっていう話もあるけど。
>>797 > IIS で言うところの「アプリケーション」ってなんですか?
簡単に言えばApplication変数やglobal.asaのスコープ範囲のこと。
設定したフォルダ以下のIIS設定パラメータが他と独立になる。
global.asaや同じ名前のApplication変数はアプリケーション内に一個しか持てないから
それぞれ別の設定にしたければ独立でアプリケーションを立てればいい。
IIS6.0ならスレッドやメモリも独立になるから、プログラムのバグで応答しない状態になっても
サイト内の他のプログラムは影響を受けない。
800 :
799 :05/01/23 02:50:54 ID:???
間違った。 > IIS6.0ならスレッドやメモリも独立になるから、プログラムのバグで応答しない状態になっても > サイト内の他のプログラムは影響を受けない。 これはアプリケーションじゃなくてプールだ。
毎度回答ありがとうございます。
>>798 >Application("test1.asp"), Application("test2.asp") って2つ作ればいいのでは?
すみません、こうやって 2つ作る目的がわかりません。
やりたいことは
>>795 で補足したように、複数のファイルを個別にロックする、ということです。
たとえば掲示板スクリプト bbs.asp を作ったとして、引数に応じて扱う板を変えるとします。
bbs.asp?bbsid=1 とか、bbs.asp?bbsid=2 という具合にです。
bbs.asp は、bbdid=1 ならば 1.log、bbsid=2 ならば 2.log と、それぞれのログファイルに対してアクセスするわけです。
この際に、bbsid ごとに排他制御を行いたいのです。
Application.Lock で済ませると、本来ならば 1.log と 2.log は同時にアクセスしてもかまわないにも関わらず、排他アクセスしかできなくなってしまいます。
ところで
>そもそもadoとかfso使って書き込む場合はプロセスがファイルをロックするから
これって本当なんですか?
ado についてはこの際どうでもいいとして、fso は自動的にロックするものなのでしょうか?
ロックされてるファイルに対してオープンをかけるとどうなりますか?
エラーになるのは都合が悪くて、ブロックされるのがCPUリソースの有効活用の点で具合がいいです。
あと、後出しの条件ですみませんが、basp21 は都合により今回は使いたくないです。
すると Sleep に相当する機能は無いということになりますか?
>>799 ,800
おかげさまで google でようやく具合のいい説明に流れ着いたこともあって、その説明でよく理解できました。ありがとうございます。
いろいろ回答していただいて思ったのですが、自分のやりたいことをするには、ASP だけでは無理で、それ用のコンポーネントを作るってアプローチになるのかな、と感じました。
ただ、どこでも何もせず、できるだけスクリプトを置くだけで動くようにしたいので、Application.Lock を使うのが唯一の選択肢になりそうですね。
(
>>798 によれば、そもそもロックする必要は無い?)
802 :
nobodyさん :05/01/23 12:42:25 ID:qaGxTvCi
>>801 そんなに頻繁にアクセスされるならMDBにログ吐いた方がいいんじゃないの?
>>802 今回はファイルの使い方のお勉強が目的だったので、MDBはまた今度にします。
自分でも調べてみてるのですが、ASP ではあんまりきめ細やかなファイルの制御はできないって結論で合ってますよね。
ところで、MDB は複数の同時アクセス時に壊れるという話がありますが、どうなんでしょう?
以前 ASP ではないんですが、VB にて MDB の実験を行ったとき、テーブルがロックされるタイミングがなんかおかしくて、
データの整合性が取れないことがある、という現象を確認しています。
このときは、ファイル共有した MDB に複数のマシンからの同時アクセスする実験だったのですが。
それ以来、多数クライアントの用途においては MDB を毛嫌いしています。
>>803 ありがとうございます。
これを読んで、今採用できる手段は Application.Lock しかないのだろう、と悟りました。
これによるパフォーマンスの問題が気になるほど深刻なわけではなかったのですが、エレガンスの点から他の方法を探していました。
ですので、無いなら無いで、そういう結論が出せたというだけで十分な収穫でした。
しかし、
>>801 のリンク先にはなにやら気になる記述がありますね。
>IISはファイルを一定時間ロックしますので、この間はファイルの削除が失敗します。(ファイルのクローズ後、確か60秒間だったような?)
これについての詳細な挙動について書かれたドキュメントってありますか?
>>804 > MDB は複数の同時アクセス時に壊れるという話がありますが
確かにMDBは壊れるとかよく聞くけど
ADO使ってきちんと行ロックかけて更新してれば壊れることはない。
IIS以外からもAccessとか使って作業してたり、DAOとか使ってたら話は別だが。
さすがに秒間何百アクセスもあるくらいのサイトならDB使うだろうしね。
>>805 確かにIIS+ADOからしかアクセスしないんだったら、
同時アクセスが起きないんだから壊れるわけがないわな。
>>806 俺もそんな風に思ってたんだけど、ぐぐってたらこんなの見つけた。
ttp://blog.melma.com/00034126/20041205171020 要は3000hit/日くらいのサイトのアクセスログをmdbに保存するスクリプトで、
>3日にいっぺん、mdbファイルが破損してました。
ってことなんだけど、どうなんだろう?
他にこういう経験した人いる?
試しに、連続して1000件ずつINSERTするスクリプト(ASP)を書いて
Win2k+IISに置いて、5台のPCから同時にそれを開いてみたんだけど、
mdbが壊れた様子はなかった。
検証としては不十分かもしれないけど、3000hit×3日での
「同時アクセス」の発生回数よりは遙かに多い筈だが…。
808 :
nobodyさん :05/02/01 23:19:53 ID:c6w5Mcw9
javascriptの中にASPの変数を入れたい場合はどうすればいいんでしょうか?
809 :
nobodyさん :05/02/01 23:49:21 ID:ahD93X8b
>808 変数=<%=変数 %>;
>>810 変数="<%=変数 %>"; だろ。俺も良く間違えるけど。
812 :
810 :05/02/04 00:28:38 ID:???
いや、数値型なので合ってる。
16歳でASPのアルバイトしてますが 時給1300円
>>811 それ言うなら、適切なエスケープ処理も入れないと。
>>815 1300円って安すぎだろ。
高校生のバイトにしては高いのかもしれないけど。
817 :
nobodyさん :05/02/20 03:46:34 ID:QVbhiX9s
aspを使ってWeb上で 毎日数値を打っていって、そのデータ(mdbに保存)を 折れ線グラフで表示させたいんですけど できますでしょうか?
Office Web Component とか使えば可。
820 :
819 :05/02/20 09:01:29 ID:???
漢ならVMLだろw
822 :
nobodyさん :05/02/22 23:38:51 ID:7I44eOuT
SQL2000Server+ASP の環境で、text型のフィールドを読み出しした際に妙な現象が起こります。 rs(フィールド名) で所得はできるんですが、その前に if rs(フィールド名)<>"" then などといった条件式を入れると、途端に所得できなくなります。 一旦変数に格納し、その変数で条件分岐させると大丈夫です。 他の型、varchar型などですとそんなことは起きないので、text型特有の問題のようですが 何か理由があるのでしょうか???
>>822 フィールドがNullだからでは?
Null≠""ではないよ。
If Not IsNull(rs(フィールド名) Thenでは駄目ですか?
>>823 誤Null≠""ではないよ。
正Null≠""だよ。
>>822 書き忘れ
括弧が一つ無かった。
If Not IsNull(rs(フィールド名)) Then
個人的にはSQLのWHEREでNULLのフィールドを除外したした方が良いと思いますが・・・。
If rs("fieldname") & "" <> "" Then の方が簡単だろ
>>822 ああ、text型ね。ADOのバグあるよ。
前方スクロールカーソルでレコードセット取得してる場合、
text型のカラムを二回目読もうとすると読めなくてエラー。
また、text型のカラムより後にあるカラムを先に読んでしまっても
エラーになる事がある。
もうやってるみたいだけど一旦変数に格納するのが吉。
またはカーソルタイプをダイナミックにすれば大丈夫。
text型は重宝するんだけどバグがね…
SJISの二バイト文字入れててbcpで吐くとデータ壊れるし。
早く2005出ないかなぁ…。
ところでよく rs("xxxxxx") と略すのを見かけるけど これって取得できるものが不定になって危険じゃなかったっけ? rs.Fields("xxxxxx").Value にしないと。
829 :
822 :05/02/23 08:08:27 ID:???
うおおおお、レスありがとうございます。 確かにtext型を無理やり読むと、他のフィールドが読めなくなったりもしてました。 まさに>827の現象です。ビンゴです。カーソルタイプだったとは!てかバグかよ! >823-825 IsNullなどの条件式を入れてもダメなんです。>827によると 一回読むと二回目が読めなくなるみたいですね。 場合によってはWhere内で条件組んでもいいですねえ。そっちのほうが速そう。 >828 略すと所得が不定になるのですか? 知りませんでした…。
>>829 いや、別に略しても仕事は首にならないよ。
「所得」についての突っ込みはスルーでよろしいのでしょうか。
>>828 どうせVBScriptはVariantしかないから気にしなくてもいいんじゃない。
ADO.netだと確かデフォルトプロパティが無いからそうしなきゃならないんだろうけど
>>832 JScriptは勝手に型変換されておかしくなるぞ。
nullとかundefinedとか時刻型とかは特に。
VBScriptは時刻型をValueなしで読み出すとどうなるの?
>>833 YYYY/MM/DD hh:mm:ssの形になった
文字列として表示するだけだったらValueつけないでOK 取得したデータを変数に入れる場合はValueをつけないと痛い目にあう。 良くあるパターンで、 Valueつけないで変数にいれた場合はオブジェクトとして変数に入れるから カーソルを次の行に持っていくと、その変数は読み出せなくなる。 Valueをつけると単なる文字列として変数に入れるから カーソルを次の行に持っていってもレコードセットを閉じても読み出せる。
836 :
nobodyさん :05/03/04 15:04:27 ID:ktMSRMP4
んと、マクロ付きExcelを上げてもOKなアップローダー、誰か御存知でしょうか? ※マクロ付きというだけでウィルスと見做すトコロも結構あるので(^^; 仕事で使うんで、VBAでASPソース解析マクロ組んだんだけど、一日ででっち上げたのでもっといいモノがあると思うんです(^^; こーゆー使い方できるのが他にあれば紹介して欲しいし、無ければ少し改造(特にコメントの認識周り)で相談に乗ってもらえれば、と思うんですが、いかがでしょうか?(^^; 本来はビジネスsoft板かもしれませんが、一応対象がASPっつーことで( ´∀`)
>836 zipかlzh(か、何であれ好きな形式)に固めてうpればよいのでは。
>>836 拡張子変えてアップロードすればいいじゃないの?
メーラーとかでvbsとか弾くヤツは拡張子をtxtにすれば送れたりするし。
そもそもアップローダされたファイルにマクロが含まれてるか
チェックしてるうpろだなんてないだろ。
839 :
836 :05/03/05 00:45:06 ID:q5avG9fp
>>838 む、言われてみれば(^^; どこかに長持ちするアップローダー、御存知です?
今ふたばに上げようとしたんですが、なんか調子悪いっす(^^;
>>838 いや、それが意外と(苦笑) .xlsとか.docとか上げると即削除とかゆーところもありますよ。
840 :
836 :05/03/05 00:47:24 ID:q5avG9fp
841 :
836 :05/03/05 14:22:19 ID:DIN0FHj5
>>833 遅レスだけど
サーバの地域設定によるので、海外のレンタルサーバだと
MM/DD/YYYY hh:mm:ss とか
DD/MM/YYYY hh:mm:ss とかあり得る。
test
既出だと思うのですが、 ASPでサーバにあるExcelファイルを開くことが出来ないのは、 ASPの仕様なのでしょうか? 5年ぐらい前は出来ていたのですが・・・
>>844 開く?
Excelファイルからデータを読むことなら
サーバにExcelが入ってればできるぞ
>5年ぐらい前は出来ていたのですが・・・ セキュリティレベルが厳しくなってきてるんだよ。ちゃんとセキュリティ設定を把握しようね。
Visual InterDev6で新しいWebプロジェクト作成の際に 出てくる「使用するサーバーの指定」の欄に何の名前を入力していいのかわかりません。 IISをインストールし、インターネットインフォーメーションサービスのローカルコンピューターの名前かなと思い、いれてみたのですが、接続できないようで先に進めません。 ご教授お願い致します。 OSはxpのproを使用しております。
開発しようとしているものが載るサーバ、あるいはlocalhostなんてのはどうだ
来週からASPのデバックのアルバイトをさせてもらうことになったのですが、 はじめてなんですが、どんなことをするのでしょうか? 普通、どんなツールでデバック作業をしているのですか? また、何を勉強しておけばいいのでしょうか? やっぱり、VisualBasicあたりでやるのでしょうか?
>>849 漏れはPGじゃないので良く分からんが、
デバッグ作業って限界値テストみたいなのではないのだろうか?
デバッガで検出できるんだったら、わざわざバイト雇う必要ないと思うし。
851 :
nobodyさん :2005/04/05(火) 11:01:33 ID:GPgbhi4+
質問です。 簡単な自動メール送信ソフトを作成してます。 ASPとBASP21、DBにはアクセスを使ってます。 各サーバーの稼動状態をチェックしてフラグを立て、 フラグが立っていればそのサーバー名を記述したメールが届くというものを目指してます。 各フラグをメール送信用DBに書き込むのと、メール送信自体は出来たんですが、 毎日0時にそのプログラムを実行するのが出来ません。 私が今試してるのが バッチファイルを作成し、それをタスクで毎日0時に立ち上げる バッチファイルの中身は、メール送信のASPをIE経由で立ち上げる ログオンした状態では問題ないのですが、ログオフしてるとメールが送信されません。 なにか良い方法はありませんでしょうか?
>>851 なんでそんなややこしいことを...
Windows Scriptかいてそれをスケジュールするだけでいいじゃん。
853 :
851 :2005/04/05(火) 13:20:08 ID:???
854 :
851 :2005/04/05(火) 14:38:06 ID:???
855 :
852 :2005/04/05(火) 15:49:30 ID:???
>>854 いや、あのそのmailsend.aspでやってる処理をWindowsScriptに書いてスケジュールすればって意味だったのだけど...
まあ動いたのならいいか(ASP通す分無駄が有るけど)。
>>854 basp21はWScriptからも使えます。
よって mailsend.asp の中身の 「Server」 の文字列を 「WScript」 に置換し、
ファイルの拡張子を 「vbs」 に変えれば、わざわざWebページを開かなくてもメールを送信することが可能です。
857 :
851 :2005/04/06(水) 00:14:50 ID:???
>>852 氏
>>856 氏
レス感謝です。
さっそく再度組みなおしてみます。
理想に近いシンプルなものが出来そうです。
ありがとうございます。
858 :
nobodyさん :2005/04/10(日) 17:44:24 ID:Tjxmg0rJ
linux機でASP動かしたいんだけど、何か方法ない?
ええけつしとるのぉ(*´Д`)ハァハァ うはっwwwおkwww??
>858 その昔Apache::ASPモジュールってのがあったが…… まぁ、言語がPerlになるけど。
>>858 それっぽいものだとSun Chili!Soft ASP ってのがあるらしいな
製品だけど
862 :
nobodyさん :2005/05/07(土) 00:41:32 ID:Ci/+aKdO
ASPで画像をアップロードするにはどうすればいいのですか? どこかにサンプルありませんか?
863 :
nobodyさん :2005/05/07(土) 01:15:41 ID:l5j6orkt
(´・ω・) カワイソス
865 :
nobodyさん :2005/05/07(土) 01:56:39 ID:C9GNlHk9
IISでASP専用ページをアップロードして、動作確認をしようとしてますが、 うまくいきません。 イベントログには、 サーバーはアプリケーション '/LM/W3SVC/1/Root' の 読み込みに失敗しました。エラーは 'クラスが登録されていません ' でした。 と書いてあります!! どうすればいいでしょうか??
867 :
nobodyさん :2005/05/07(土) 12:50:09 ID:o/GwVysr
>>866 さん ありがとうございます。しかし、全てうまくいかずに
諦めてる実例ばかりで、へこんできました・・・・
>IISでASP専用ページをアップロードして、動作確認をしようとしてますが、 ここんとこもう少し詳細を。
>>862 BASPでも使うのが安直。
俺は無理やりスクリプトで組んだけど。
ADO.Streamでもできるね
うむ。ADODB.StreamさえあればVBScriptでどんなデータでも扱える。 かなり泣きそうにダルいけどなw
BASP21使うとアップロード時CPU負荷凄いことなるんだけど、ADODB.Streamなら大丈夫?
ADODB.Stream使う場合はスクリプトで全部処理するから もっと凄いことになります。
そ、そうですか...orz なんとかならんものかな...
最近のPCならどうせ別にそんなに気になる程でも無いよ
877 :
872 :2005/05/09(月) 23:25:49 ID:???
環境は DELL PowerEdge2650 CPU Xeon 2.8GHz(HT) Mem 1GB HDD 73GB(10000rpm)×4(RAID5) OS Win2k Standard なんだけど、でかいファイルのアップ中のCPU利用率が両論理CPUともに 50%を超えてしまうのよ。orz そりゃXeon3.6×2とかにすりゃマシになるんだろうけどさ...
>>877 社内用途レベルであればWebサーバのフロントエンドとして十分なスペックだと思うけど。
どのくらいのファイルをアップロードさせようとしてますか?
879 :
872 :2005/05/10(火) 09:56:22 ID:???
>>878 場合によっては100MB超。多くは数MB程度なんだけど。
それが1日に50件くらいなんで今のところ問題は無いんだけど、
もしADODB.Stream使って負荷下げられるものなら下げたいって思ったんだけど...
それにしても、ちょっと調べてみたところADODB.Streamってめちゃめんどくせえな。
また暇なときでも試してみます。
えーっと、POSTでアップロードする場合って、 クライアントからサーバ側にファイルを送り終わらないと 処理するスクリプトが動き出さないんだよね。 だからアップロードするファイルサイズが大きいとそれだけhttpのリクエストを受け付ける段階で サーバのリソースを食ってしまう。これは仕掛け上しょうがない部分。 十数MB以上ぐらいのサイズになるんだったら FTPやwebDAVなどの使用を検討してみてはいかがでしょう? ActiveXなどの助けを借りる必要があるけど…。
> OS Win2k Standard ・・・・・。
882 :
872 :2005/05/11(水) 09:55:00 ID:???
>>880 こんな感じのスクリプト書いてサーバー時間 2005/05/11 9:28:40 にsubmitボタンを押してみた。
postしたデータは20M程度のpdfファイル
Server.ScriptTimeout = 3600
Response.Write(Now() & "<br>" & vbCrLf)
TotalBytes = Request.TotalBytes
Response.Write(Now() & "<br>" & vbCrLf)
BinRead = Request.BinaryRead(TotalBytes)
Response.Write(Now() & "<br>" & vbCrLf)
その結果がこれ
2005/05/11 9:28:40
2005/05/11 9:28:40
2005/05/11 9:34:49
postした瞬間にスクリプト自体は動いてて Request.BinaryRead で時間食ってるようだけど...
あとFTPとかWebDAVは諸事情で無理なのですわ。
>>881 何が言いたいの?
Serverが抜けてるってこと?
とっても房臭い質問で申し訳ございません。 ASPで作成したホームページのデータを変更し、アップロードを行なったところ 『HTTP 500 - 内部サーバー エラー 』 と表示されました。 試しに変更前のデータから1文字だけ追加しても同じようなエラーが表示されます。 この内部サーバーエラーを表示されないようにするにはどのようにすればいいのでしょうか。 このままでは更新作業が全く進みません。 よろしくお願いします
>>883 ソース内に文字を追加した?
つか、動いているファイルに1文字追加してUPしたら、エラーになったの?
ちゃんとテキストでUPしてる?
885 :
883 :2005/05/11(水) 15:02:33 ID:???
>>884 ASPファイルを別の場所にダウンロードしてから修正を行い、
その後で元の場所にアップロードしてますが・・・
>>885 だから、どこをどのように修正したんだよ。
話にならんやつだな。
887 :
883 :2005/05/11(水) 15:43:00 ID:???
チェックボックスを使用するプログラムの中で選択不可能なものは四角の画像を使うようにしていました。 それを今回選択可能になるように修正したいと考えています。 下が変更前と変更後のプログラムです。 <変更前> <tr height="25" bgcolor="#F0F0F0"> <td><font color="#A0A0A0">002</font></td> <td></td> <td></td> <td><img src="/sample/Images/Form/Suspend.gif" border="0" align="absmiddle" alt="Suspend" name="02a"></td> <td></td> </tr> ========================================================== <変更後> <tr height="25"> <td><a href="javascript:detail('Detail/b.asp');">002</a></td> <td><input type="checkbox" name="02a" id="02a" onfocus="02aA.selected=true" value="002"></td> <td> <select name="02b" id="02b"> <option value="" selected>---</option> <option value="A">A</option> <option id="01aA" value="B">B</option> <option value="C">C</option> </select> </td> </tr> "b.asp"や"/sample/Images/Form/Suspend.gif"などのファイルは既に作成しているファイルです。
変更前に戻すと動くのかい? あと、ASPファイルをインクルードしてる箇所はないの?
889 :
883 :2005/05/11(水) 15:59:53 ID:???
>変更前に戻すと動くのかい? プログラムを変更前に戻しても元に戻りません。 変更前のデータを上書きすればちゃんと動きますが・・・ >あと、ASPファイルをインクルードしてる箇所はないの? 上部に表示させるaspファイルやメニューを表示するaspファイルをインクルードするよう 設定していますが・・・ あとこのファイルは別のファイルにインクルードされているということはありません。
javascriptのエラーじゃないのか? もしかして、HTMLファイルを保存して、それを変更して アップしてるっていう話ではないよな?
891 :
883 :2005/05/11(水) 16:39:23 ID:???
>890 ASPは特別な方法で保存しなければいけないのでしょうか? 基本的に私のやり方は ホームページのサーバーからffftpを使ってASPファイルをダウンロード ↓ 変更前のデータのバックアップを取る ↓ プログラムを修正・保存 ↓ ファイルサーバーにダウンロード という形です。もしかしてこの方法が間違っているとか?
ffftpでダウンロードするときは、テキストモードでしてるよな? ちなみにファイルサーバーに「ダウンロード」じゃなくて 「アップロード」だよな? さらにアップロードする際もテキストモードでしてるよな?
893 :
883 :2005/05/11(水) 17:11:20 ID:???
>ffftpでダウンロードするときは、テキストモードでしてるよな? >さらにアップロードする際もテキストモードでしてるよな? 自動判別モードでダウンロード及びアップロードを行なっていますが・・・ >ちなみにファイルサーバーに「ダウンロード」じゃなくて >「アップロード」だよな? すみません、こちらは私の入力ミスです。
ffftpの自動判別機能は、テキストモードで転送するファイルを自分で 登録してやる必要があるのだが、そのリストの中に「*.asp」は登録して あるのかな? ・・・テキストモードじゃなくてアスキーモードだな。
895 :
883 :2005/05/11(水) 17:22:46 ID:???
環境設定を見ると転送モードは『常にアスキーモード』になっていますが・・・
では、一回ダウンロードしたものを 開いて保存して、アップロードした場合は? これでエラーになるなら、FTPもしくは、エディタを見直す必要あり。
897 :
883 :2005/05/11(水) 17:36:08 ID:???
>では、一回ダウンロードしたものを >開いて保存して、アップロードした場合は? > >これでエラーになるなら、FTPもしくは、エディタを見直す必要あり。 上の通りの作業を行ったら『HTTP 500 - 内部サーバー エラー 』 と表示されました。 ちなみにプログラムの修正は秀丸で行なっています。
文字コードじゃないの?
899 :
883 :2005/05/11(水) 17:50:36 ID:???
あー文字コードを調べたら『JIS』になってますね。 もしかしてこれが原因なのでしょうか? もしよろしければASPファイルに最も適している文字コードを教えていただけませんでしょうか?
HTMLと同じコードにしろ。 自分で試してみることもできない、とは君には向いてないね。
901 :
nobodyさん :2005/05/11(水) 18:06:09 ID:tydfCjE5
902 :
883 :2005/05/11(水) 18:26:52 ID:???
>今まで答えていただいた皆様 修正した部分が正常に起動しました!! 今まで長々と対応していただいた皆様本当にありがとうございました。 >自分で試してみることもできない、とは君には向いてないね。 何分ASPを始めてまだ間がない厨房なものですから。
原因が何だったかくらい書けよ
904 :
883 :2005/05/11(水) 18:47:52 ID:???
>903 すみませんでした・・・ ASPファイルをJISファイルとして読み込んでいたため文字コードの違いで 正常に読み取れていなかったことが原因かと思われます。 ・・・今まで長々と申し訳ございませんでした。
>>882 あれ?TotalBytesまででそんな速いか?
おかしいな。明日会社でもう一回試してみよう…。
907 :
初心者 :2005/05/13(金) 20:30:32 ID:+L6sV6Q8
865の質問をしたものです。DREAMWEAVER2004で作った ダイナミックページ(ASP JavaScript)をIISを使ってインターネット上から 見ようとしたのですが、Server Application Error(イベントログを見ろという内容) が表示され、うまくいきません。WindowsXP Professionalを使ってます。 何かIISの設定が足りないのでしょうか??? この1週間 様々な方法で 原因を調べようとしたのですが、似た質問をされていたかたも全て諦めていました. 皆さんが頼りです。どうか助けてください。お願いします。
>907 で、イベントログには何と書いてあったのでせう。
909 :
初心者 :2005/05/13(金) 23:08:29 ID:+L6sV6Q8
イベントログには、 サーバーはアプリケーション '/LM/W3SVC/1/Root' の 読み込みに失敗しました。エラーは 'クラスが登録されていません ' でした。 と書いてあります!! 正直さっぱりです・・・・ どうすればいいでしょうか??
2chねらが使うアップロダならASP.NETでメモ帳を使って簡単に作れるのにASPを使ってBASPやADOを使ってトラブルに悩まされているスレはここですね? 大勢が同時アクセスするサーバはマルチスレッドに強いADO.NETを使わんといかん。
>>911 そもそもASPってイントラWebでやるものだし。
>>883 の内部サーバーエラーはADOがシングルスレッドCOMコンポーネントゆえにある人がADO使ってる間は他の大勢の2chねらーがADOを使えずに起こることだし。
ADO.NET,SQL,VB.NET、HTML辞典とJavaScript辞典を丸暗記してるならメモ帳でアップロダを作れるからASPからASP.NETに移行シル
>>913 .NETは暗記してないのでレガシASPでいいです
つかインターネット公開するならIIS+ASP(.NET)なんか使わねーよ
IISはそんなに悪くない。 どっちかというとVBScriptで出来る事が少なすぎたのが残念だ。 バイナリデータの取り扱いとsocketが使えたら 少なくともPerlよりはいいものだったと思うんだがな。
>>916 MS的には、VBScript/JScriptなんてCOMコンポーネントを呼び出すための
Glueみたいなもんじゃないんでしょうか。
だからそれ単体でたいしたことが出来なくてもしょうがない。
こう考えた場合、スクリプトと言うよりもむしろMSがバイナリやアップロードファイルを扱えるような
標準的なコンポーネントを提供しなかったのがよくなかったのかもしれない。
>>917 禿堂。
まぁMSもIIS3.0だか4.0の頃に、糞みたいなモジュールは提供してたけどな。
最近はアップロード処理のためのコンポーネントをコンパイルするための
VBソース(藁)も公開してたはず。
まあその頃から.netが見え隠れしてたしなあ 最近はVBScriptはレジストリ設定用のツールと化したな。Scriptmaticとか。 つくづくMicrosoftも一枚岩じゃないってこったな
920 :
nobodyさん :2005/05/20(金) 17:22:12 ID:hD9GfVJL
Windows2000Server + Oracle10gの環境で 以下のASPを実行すると下のエラーがログに出力されます。 何か設定に問題があるのでしょうか? <% Dim objss Set objss = Server.CreateObject("OracleInProcServer.XOraSession") %> ASP_0178_:_80070005|Server.CreateObject_アクセス_エラー
>>920 アクセス_エラーならもうちょっと状況書かないと。
多分Oracle側に問題があると思う。
>>921 Oracle側ですか。
他のバージョンで試してみます。
状況は書いたこと以外に書けるようなことがありません。
923 :
920 :2005/05/23(月) 11:08:16 ID:???
Oracle8iにしたら動きました。これは困ったな。
924 :
920 :2005/05/23(月) 17:19:49 ID:???
>>924 oo4o使うのやめたら?
Oracleと接続するのにoo4o使ってる人って実際はあまりいないし。
927 :
920 :2005/05/24(火) 07:17:54 ID:???
>>925 おぉ。そうなのですか?
どういったものが主流でしょうか?ADOとかでしょうか?
ADOでOracle謹製のOLE DBプロバイダ使うのが無難な解じゃないかなぁ。
>>926 ワラタ。MSの人もこのスレ見てるんじゃねーの。
一応 > この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 193998 (最終更新日 2005-03-16) を基に作成したものです。 らしい
>>927 ADO + 「Microsoft OLE DB Provider for Oracle」 (中身は Oracle Provider for OLE DB)
結局はODBCだからoo4oよりは接続に時間がかかるけど、
ADO使っといた方がいいと思うよ。
oo4oはバグってるか使い方が悪いのか分からないけど、
うまくいかないことが多い。
性能求めるなら oo4o で頑張るしかないけど。
932 :
920 :2005/05/25(水) 14:08:08 ID:???
ADOの挑戦中です。 以下のスクリプトで if hoge = 1 then のところで「型が一致しません。 」というエラーが出てしまいます。 hogeカラムはNUMBER型で1桁です。 if hoge = "1" then とすると正常の動作をします。 なぜNUMBER型の値を文字列として取得してしまうのでしょうか? <% dim ss set ss = server.createobject("ADODB.Connection") ss.open("dsn=hoge; pwd=hoge") dim rs dim hoge set rs = ss.Execute("select hoge from hoge_table") do until rs.eof hoge = rs.fields(0).value rs.movenext loop rs.close set rs = nothing if hoge = 1 then response.write "わーい" else response.write "だめじゃん" end if %>
>>931 ASPからだいぶスレ違いになってますが、Oracle Provider for OLE DB
はODBCとは異なるのでは。
プログラム → ADO → Oracle Provider for OLE DB → DB
なので、それなりのパフォーマンスは確保できるのではないかと。
(oo4oには劣るかもしれませんが)。
ODBC経由になるのはこの場合でしょう。
プログラム → ADO → Microsoft OLE DB Provider for ODBC → Oracle ODBC Driver → DB
>>932 if hoge=1 then
〜
end if
をとりあえずコメントアウトして
Response.Write TypeName(hoge)
ってやってみて。
たぶんそのNUMBER型のフィールドはNULL許可の項目なんじゃないの? で、NULLの値を取ってきて空文字列として変数に格納されて、それを数値と比較しようとしている・・・とか。
936 :
nobodyさん :2005/05/26(木) 07:11:37 ID:xDfhpseo
>>935 ありえるね。
if IsNull(hoge) then
response.write "逝ってよし"
elseif hoge = 1 then
response.write "わーい"
else
response.write "だめじゃん"
end if
937 :
920 :2005/05/26(木) 07:21:36 ID:???
そえが値はResponse.writeすると1が表示されます。 なので1が入っているのは確かです。 あとNOT NULL項目です。 Response.Write TypeName(hoge) これやってみます。
938 :
920 :2005/05/26(木) 08:41:47 ID:???
なぜかこんなエラーになってしまいます(泣 VBScript でサポートされていないオートメーションが変数で使用されています。: 'TypeName'
>>938 Response.Write VarType(hoge)でやってみて
940 :
920 :2005/05/27(金) 09:47:36 ID:???
>>939 ありがとうございます。
14と出ました。
942 :
920 :2005/05/27(金) 14:15:01 ID:???
>>941 ありがとうございます。
CIntでできました。
でもこれって普通のことなんでしょうか?
NUMBER型のときは変換しないといけないって
今まで経験がなかったので。
943 :
nobodyさん :2005/05/31(火) 14:31:22 ID:eexfWB3i
微妙にスレ違いだったらゴメンナサイ。 Windows 2000 Server SP4 + IIS5.0(デフォルト)でASPを動かしてます。 で、ポート80番しか許可していないようなガチガチのLANから サーバにアクセスすると、どうやら*.aspのページへ飛ぶ際に サーバ側が80番以外のポートを指定してくる(例:1400)そうなんです。 この場合、サーバ側でASPのポートを80固定にする必要が あると思うんですが、詳細をご存知の方いらっしゃいますか?
944 :
nobodyさん :2005/05/31(火) 18:28:37 ID:sRxC3mUM
VB.NETでASP.NETのWEBアプリを作っているのですけど、 WEBフォームのテキストボックスなどに入力した値を サーバにあるExcelファイルに書き込んで、書き込まれたExcelファイル をブラウザに表示させたいのですけど、どういった感じでやればいいのでしょうか? よろしければ、ヒントでも参考になるページでもいいので、教えていただけない でしょうか。宜しくお願いします。
>>944 サーバからExcelファイルを返す方法として思いつくのは……
1. ODBCでExcelファイルに書き込む。
2. ContentTypeが"application/vnd.ms-excel"のHTMLを作成する。
3. サーバサイドでExcelをオートメーションで使用して書き込む(非推奨)
1.は単にExcelのファイルをテーブルに見立てて読み書き(書けたっけ?)
するだけなので、書式など凝ったことはできないはずです。
2.は単純な表であれば一番現実的だと思います。凝った書式は難しいかもしれません。
(ExcelファイルをHTML形式で保存した時の内容を理解できれば……)
3.は最後の手段で、他の方法では対応できない場合にのみ使います。
2.と3.の非推奨に関する情報は以下にあります。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;257757 他は適当に検索してください。多分サポート技術情報にあります。
>>943 多分、
- DBを扱うスクリプト群はセキュリティとかの観点から別なポートにしたいと思った。
- SSLとかで通信してる
- パッケージ化されているソフトを使用していて、Webサイトを別にする必要があった
あたり?
>>944 > 書き込まれたExcelファイルをブラウザに表示させたい
この辺を詳しく書かないと。
読み書きや計算ができる感じでブラウザから利用したいのか、ただ表を表示できればいいのか。
949 :
nobodyさん :2005/06/01(水) 12:02:50 ID:hA/jbXaa
>>945 >>947 すいません。ありがとうございます。
読み書きや計算ができる感じではなくExcelが立ち上がって
ブラウザに表を表示できればいいだけです。
>>945 さんの2の方法でやってみたいと思います。
ありがとうございました。
950 :
943 :2005/06/01(水) 17:27:47 ID:???
>>946 さん
フォローありがとうございます。
調査した結果、閲覧側の許可IP設定に問題があったようです。
IISでポート80を指定しているのであればそれ以外には
飛ばない、というのは正しかったようです。
ありがとうございました。
951 :
あ :2005/06/07(火) 21:37:19 ID:42NMzbaQ
申し訳ありませんが、教えて頂きたいです。
2003サーバーでIISを構築しています。
拡張子がhtmlだと表示されますがaspだと表示されません。
2000サーバーで動作していたファイルを、2003サーバに
コピーしたのでプログラムは問題ないと思います。
http://10.1.3.238/test.html →表示される。
http://10.1.3.238/test.asp →エラーになる。メッセージは下記参照
--------------------------------------------------------------------------------
ページが見つかりません
検索中のページは、削除されたか、名前が変更されたか、または一時的に利用できない可能性があります。
HTTP エラー 404 - ファイルまたはディレクトリが見つかりません。
--------------------------------------------------------------------------------
色々ネットで調べましたが、回答が見つかりません。
お願い致します。
単純にASPファイルの動作を許可してないとかでは? IIS構築はデフォルト?
間違えてプログラム板で質問してしまいました。 誘導されたのでここでもう一度、質問させてください。 ASPで資料配信システムを作成しています。 ファイルを指定してアップロードする為の画面で、アップロード時に 指定ファイルに対してのみアンチウィルスを走らせたいのです。 そのような命令をすることはできるのでしょうか? よろしくお願いいたします。
>>953 ノートンとかだったら、ファイルがアップロードされた時点で
そのファイルだけスキャンするでしょ。
それとも、ウイルス検地して、画面にメッセージ出したいの?
>>953 リアルタイムスキャンでのスキャン対象に
アップロードフォルダを登録しておけばいいだけだと思うが
>>953 もしかしてクライアント側でチェックしようとしてる?
957 :
953 :2005/06/10(金) 09:44:14 ID:???
>>954 そうなんです。ウィルスを検地したら画面にメッセージを出して、
「このファイルはアップロードできません」という
アピールをしたいのです。
>>955 そうなんですか。知りませんでした。
すいません、もっとちゃんと調べてみます。
>>956 いえ、チェックはサーバ側でしようとしています。
>>957 エラーメッセージはクライアント側に出したいんだね?
だったら、
リアルタイムスキャンでのスキャン対象に
アップロードフォルダを登録しておく。
しかも検出すると「文句なしに移動」「文句なしに削除」
にしておく
↓
アップロード後、fsoでFileExists()をやればOK
↓
959 :
953 :2005/06/13(月) 09:37:36 ID:???
>>958 はい。クライアント側にメッセージを出したいです。
アップロード後に「FileExists()」ですね。
環境が整い次第、やってみます。
ありがとうございました。
960 :
nobodyさん :2005/06/16(木) 17:44:29 ID:+b/OtgOx
GETメソッド、HTTPクエリ文字列で渡された値を取得するには、 Request.QueryString (変数名)[(インデックス) | (.Count)] だと思うんですけど、 ↑で言う、変数名を取りたい時はどうしたらいいですか?
>960 ヒント↓ dim objA for each objA in Request.Form Response.Write objForm & "<BR>" next
objFormじゃなくてobjAだた・・・
963 :
960 :2005/06/16(木) 21:16:25 ID:???
>>960 JScriptの場合
var e = new Enumerator(Request.QueryString);
while (!e.atEnd()) {
Response.Write('<tr><td>'+e.item()+"</td><td>"+Request.QueryString(e.item()).Item()+"</td></tr>\n");
e.moveNext();
}
965 :
nobodyさん :2005/06/24(金) 21:06:01 ID:N9+GYjTJ
いまさらなんですが、classをつかうとなんかスマートですね。 これでオブジェクト指向を完全にサポートすればVBScriptも長生きできたのに残念です
>965 惜しむらくはVBScriptにもJScriptにも、ソースコードレベルのインポート機能がないことだなぁ。 Perlのrequire/useとかRubyのload/requireとかみたいな。 沢山クラスを作って、クラスごとにソースファイル分けるとものすごいことになる。 (まぁ、そういうレベルの再利用はCOMコンポーネント作れってのが当時のMSの姿勢だったんだろうけど) VBScriptで「基底クラス」を書いて、委譲っぽく「派生クラス」を作って これをASPで使おうとするとSSI includeの羅列で死ねる(てか死にかけた経験有り……) あとどうでもいいけどPrivateメンバをMe付きで呼べないのはなんかやだと思うなぁ今でも。
967 :
nobodyさん :2005/06/24(金) 21:28:00 ID:vQVz1Tij
IEのメニューの[ツール]→[インターネットオプション]→ [ファイルの削除ボタン]→[すべてのオフラインコンテンツの削除] とやるとキャッシュが削除されますが、これをASP(クライアント処理もVBS)でやりたいのですが可能でしょうか? 「キャッシュの削除」というボタンが表示されるWeb画面を作成し、そのボタンを押すと キャッシュが全て削除されるということをやりたいのですが可能でしょうか?
>>967 ASPは無理。
JavaScriptのIE拡張にあったっけ?>キャッシュ削除
>>966 FileSystemObject でテキストファイルから文字列変数に読み込んで
VBScript の Execute か JScript の eval() は?
971 :
969 :2005/06/25(土) 00:56:34 ID:???
>>970 いや、SSIで困る場合もあるんでね。
例えば、
<% If xxxxx Then %>
<!--#include file="aaaaaa.asp" -->
<% Else %>
<!--#include file="bbbbbb.asp" -->
<% End If %>
とかやった場合、aaaaaa.asp と bbbbbb.asp で同じ名前の変数を宣言しているとエラーになる。
同じ名前の変数でも関数内で宣言すればいいのでは… あとはスクリプトコンポーネントとかw regsvr32が面倒だっつーのに解決になってないんだがなw あと個人的には.aspファイルをSSIではなく、スクリプトだけの.vbsや.jsを <script runat=server>で取り込む方が好み。 スクリプトだけのファイルなら.wsfにも流用利くからね。
> 同じ名前の変数でも関数内で宣言すればいいのでは… 例えば aaaaa.asp や bbbbb.asp が HTMLのテンプレートだったと考えてくれ。 その中でテーブルとかリストをForループで作る時に Dim i とかやるだろ。 関数はあまり関係ないのよ。 かといってインクルード元でインクルード先の変数をすべて宣言するのも ちょっと納得いかない解決方法だしな。 現実はそうすることが多いが。
974 :
nobodyさん :2005/06/28(火) 14:47:12 ID:6ezmeGfP
ちょいと質問するとこ質問です。 ASPでIIS(Aサーバ:Webサーバ専用)→SQLServer(Bサーバ:DBサーバ専用)に アクセスしたいんだけど、SQLサーバのWindows認証で弾かれてDBアクセスできないという 初歩的なとこでハマってます。 何をどうすればいいのか、ぐぐっても、MSDN見てもさっぱり判らないので 質問するスレや、ググるためのキーワード、バカでもわかりそうなサイトなどを 教えていただければ幸いです。
975 :
nobodyさん :2005/06/28(火) 15:25:16 ID:Shs5qPZN
asp.netですがaspxのHTMLソースに <%= %> のタグを入れるとブラウザではきちんと表示されますが デザイン画面にいけなくなるのですが別の方法があるのでしょうか。
978 :
nobodyさん :2005/06/29(水) 12:31:22 ID:YB2R7XZO
DropDownlistにDB内のデータを読み込ませたいのですが データセットまで作成しDataSource,member,Value,Field 等設定したのですが何も読み込まれません。 どうしてなんでしょうか
>>978 どっちかっていうとASP.netスレに行った方がいい予感
981 :
nobodyさん :2005/06/30(木) 18:10:27 ID:J5B2Josk
>>981 ヒント: Server.URLEncode
983 :
nobodyさん :2005/07/01(金) 08:49:12 ID:NRcRl73V
>>982 いやだから、Response.Redirectが勝手にURLエンコードするから
しない設定はありますか?って質問なんですが。
もしかしてServer.URLDecodeのことを暗に言ってるのでしょうか?
ここってASPスレでASP.NETスレではありませんけど。。。
漏れの予想! 「チルダのキー位置がわからない」 ・・・すまん