[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 09/05 09:59 / Filesize : 289 KB / Number-of Response : 981
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

<%= ASP総合 %> Part.4



1 名前:nobodyさん mailto:sage [2005/07/03(日) 12:27:28 ID:???]
レガシASPについて語るスレです。質問や雑談もOK。
何より手軽なので社内イントラであればまだまだ第一線です。
ASP.net については専用スレッドでお願いします。

関連スレ:
【質問】ASP.NETスレ Part2【議論】
pc8.2ch.net/test/read.cgi/php/1111480331/

過去スレ:
==ASP== Part 3
pc8.2ch.net/test/read.cgi/php/1059401269/
==ASP== Part 2
pc2.2ch.net/php/kako/1028/10280/1028024916.html
==ASP==
pc.2ch.net/php/kako/984/984840107.html

292 名前:288 [2006/01/01(日) 19:09:55 ID:Vw/N6o5Y]
忠実に再現しようと思ったら、長くなってしまいました・・・orz
長文失礼しました。よろしくお願いします。

293 名前:nobodyさん mailto:sage [2006/01/01(日) 22:50:12 ID:???]
>>288
速さのためって言ってるけど。
毎回全フォルダ情報をクライアントに送りつけるっていうのは
フォルダ階層の数によるがかなり重くなると思う。

俺は子への展開時にAjax使って取り直し、みたいな形で実装したことがある。

そうしないとしたら、再帰関数内で
@フォルダ内の全子フォルダを関数内の局所配列に取得
  (ソートするならその時に)
Aその配列からフォルダ名を順に取り出し、DIVを表示して再帰
とすれば大枠変えずに出来るんじゃないか。

ちなみに
>>問題は入れ子のものを展開していくなかで、途中上位のディレクトリに戻るので
>>動的配列を使っても展開中で再定義するとおかしくなってしまいます。
動的配列の再定義を繰り返すとか文字列の追加追加っていうのは
VBScript on ASPでは禁止事項。
そうやってでっち上げると忘れた頃にパフォーマンス劣化の原因になる。
VBScript上の変数にバッファリングしようとは思わないこと。
生成したデータを片っ端から表示していけるようなアルゴリズムにするのが原則。

294 名前:288 [2006/01/02(月) 20:27:19 ID:N1rmW7hx]
>>293
アドバイス有難うございます。

>>そうしないとしたら、再帰関数内で
>>@フォルダ内の全子フォルダを関数内の局所配列に取得
>>  (ソートするならその時に)
>>Aその配列からフォルダ名を順に取り出し、DIVを表示して再帰
>>とすれば大枠変えずに出来るんじゃないか。
@は再帰的に格納するということでしょうか?
再帰するのはDIV表示が終わってからではなく、表示させる前段階で再帰処理する必要があります。
だからといってソートしている最中に再帰する方法だと動的配列の再定義をせざるを得ません。
(が、うまくいきません)

>>俺は子への展開時にAjax使って取り直し、みたいな形で実装したことがある。
クリック時のフォルダ展開は言い忘れてしまいましたが、画面遷移しないという要件なので、
確かにAjaxが適していると思います。XMLHttpRequestで試してみます。ヒント有難うございました。

295 名前:nobodyさん mailto:sage [2006/01/03(火) 16:07:07 ID:???]
>>294
>>@は再帰的に格納するということでしょうか?

いや、そうじゃなくて単階層。
再帰関数の引数は妥当な線だとあるフォルダのパスでしょ?
関数の流れをざっと書くと
1.まずそのフォルダの子フォルダ一覧を配列に取得する。
2.必要があるならソートする。
3.親フォルダのDIV開始タグを書く。
4.そしてfor〜nextで子フォルダ配列をなめながら再帰。
5.親フォルダのDIV終了タグを書く。

こんな感じでやりたいことが出来るのでは?ということ。

296 名前:nobodyさん [2006/01/04(水) 13:03:07 ID:O9dUywF6]
大量のデータを1ページに50件ずつ1行ずつ表示させる時って、
みなさんはどうしてますか?
今のところ、全データをとりあえず取得して、
Doループで回してるのですが、
どうも負荷が大きすぎて…。

DBの方での質問なのかなとも思ったのですが、
とりあえず。

よろしくお願いします。

297 名前:nobodyさん mailto:sage [2006/01/04(水) 13:36:35 ID:???]
>>296
漏れはこんな感じでやってる(実際はもっと細かいチェックがいろいろと)
他にもっといい方法無い?
Dim conn, rs
Dim CurrentPage, i
Const DefaultPageSize = 50
CurrentPage = Request("P")
If CurrentPage = "" Then
 CurrentPage = 1
ElseIf IsNumeric(CurrentPage) = False Then
 CurrentPage = 1
Else
 CurrentPage = CLng(CurrentPage)
End If
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockReadOnly
(厨略)
conn.Open
rs.PageSize = DefaultPageSize
rs.AbsolutePage = CurrentPage
rs.Open
Do Until rs.EOF Or i > DefaultPageSize
 Response.Write(rs.Fields(0).Value)
 Response.Write("<br>")
 i = i + 1
Loop
rs.Close
conn.Close
Set conn = Nothing
Set rs = Nothing

298 名前:nobodyさん mailto:sage [2006/01/04(水) 22:17:29 ID:???]
DBがPostgreSQLだったらOFFSETとLIMITを使えば簡単。
SQLServerでも取得するデータ列にユニークなキーがあれば
TOPとnot existsを駆使することで、結構負荷軽めに
レコードセットの中間だけ取り出す事が可能だよ

299 名前:nobodyさん mailto:sage [2006/01/05(木) 12:18:06 ID:???]
なるほど。

300 名前:nobodyさん [2006/01/05(木) 16:56:41 ID:KdflC/KD]
VBScriptで、自分のPC(Win2000)をサーバーにして作業をしています。(この書き方おかしかったらすみません。)

Excelの既存ファイルを開き、データ書き込み、別名で保存ということをしています。
その時、作業フォルダとは別に、Cの直下に、作業フォルダ、開いたファイル、保存したファイルの3つのショートカットができるんですけど、なぜなんでしょうか?仕様ですか?



301 名前:nobodyさん mailto:sage [2006/01/05(木) 18:09:35 ID:???]
>>300
そんなショートカット出来たこと無いぞ

302 名前:nobodyさん mailto:sage [2006/01/05(木) 18:41:21 ID:???]
>>300
Officeいくつ?
あと、ASP越しにやってるの?それともWSH越し?

303 名前:nobodyさん mailto:sage [2006/01/05(木) 22:34:33 ID:???]
>>296 
開始位置の格納
ページカウンタの格納
DBオープン
rs.AbsolutePosition = 開始位置

[ループ開始]

 開始位置=開始位置+1
 If 開始位置 = (ページカウンタ * 1ページあたり表示件数 + 1) Then ループ抜ける

[ループ終了]
ページングのためのリンクを表示

304 名前:nobodyさん mailto:sage [2006/01/05(木) 23:21:52 ID:???]
>>303
それは普通の方法だから重いのでは?

305 名前:nobodyさん mailto:sage [2006/01/06(金) 00:10:03 ID:???]
しかし全体の行数がものすごく多かったりする場合は
ひょっとするとReadForwardOnlyのレコードセットで空読みするより
素直にランダムアクセス可能なレコードセットを使う方が
結果としては速くなるやも知れんな。

やってみたこと無いから分からんけど。

306 名前:300 [2006/01/06(金) 09:03:43 ID:1e+7Xjcv]
レスありがとうございます。
>>301
そうですか・・・。
>>302
officeは2000です。
後半意味がわかりませんが(すみません)、wsfは使っていないので、ASP越しだと思います。
後、マクロを含んだExcelだと別名保存ができません。
参照設定なども必要なのでしょうか?

以下、ソースです。
<%
Dim XL
Dim XB
Dim OpenFile
Dim SaveFile
Set XL = Server.CreateObject("Excel.Application")
Err.Clear
On Error Resume Next
OpenFile = Server.MapPath("./TEST.xls")
SaveFile = Server.MapPath("./TEST1.xls")
XL.Visible = False
Set XB = XL.Application.Workbooks.Open(OpenFile)
XB.ActiveSheet.Cells(1,1).value = "AAAA"
XB.ActiveSheet.Cells(1,2).value = "BBBB"
XB.Application.DisplayAlerts = False
XB.SaveAS SaveFile
XL.Quit
Set XB = Nothing
Set XL = Nothing
%>

307 名前:nobodyさん mailto:sage [2006/01/06(金) 21:31:41 ID:???]
>>306
ASPでOfficeとかShellとかのユーザ的なCOMを操作するのはMSのサポート外。
つまり何が起こっても文句は言えないということ。

ASP越しだとカレントディレクトリや%TEMP%変数の概念がShellと全然違うから
C:\直下に一時ファイルができたり削除されなかったりするのは仕様かもね。

308 名前:300 mailto:sage [2006/01/07(土) 10:51:35 ID:???]
>>307
ふむぅ・・・。そうなんですか。
最終的には、DBからデータを取得して、Excel開いてデータを書き込んで、
マクロ起動してグラフの表示ってことをしたいのですが、前途多難ですな。
ファイルを開くのや、マクロの起動のサンプルを拾って、アレンジしながら試しているのですが、
全く思ったように動いてくれません。

309 名前:nobodyさん mailto:sage [2006/01/07(土) 14:31:30 ID:???]
>>308
ASPでグラフ表示はVMLを使うのが普通

310 名前:nobodyさん mailto:sage [2006/01/08(日) 06:31:53 ID:???]
>>309
そうでもないよ



311 名前:バッカーです ◆KeuXjwWDdE mailto:sage [2006/01/08(日) 20:30:42 ID:???]
棒グラフなら単純に画像の横や縦の設定だけでいいんじゃないの?
ビローンと伸ばすかギュッと縮めるかっつーことで

312 名前:300 mailto:sage [2006/01/09(月) 08:51:14 ID:???]
スキルアップもかねてということで、Excel操作ができるようにと、提示されているのです。
VMLって、IEのバージョン限定でしか使えないんじゃないですか?

313 名前:nobodyさん mailto:sage [2006/01/09(月) 10:49:02 ID:???]
>>312
確かにIE4より前だと使えないが、
そんな古い環境じゃDHTMLもろくに使えないし、
今更そこまでサポートせんでもいいだろ。

ちなみにExcel.Applicationをサーバで使うのは
今ではMSの完全サポート外、むしろ止めとけって事になってるので
そこは気をつけておいた方がいいぞ。
元々Excelはクライアントアプリだから意味合い上ライセンス的にも微妙だし。
MS的にはOffice Web Componentでも使え、って話だ。

314 名前:nobodyさん mailto:sage [2006/01/09(月) 14:55:35 ID:???]
>>312
ASP使ってグラフ表示っていうと、イントラでしょ?
イントラならIE限定でいいんじゃね?

それにIE以外だとxlsファイルもブラウザで直接見れないんじゃなかったっけ?

315 名前:nobodyさん mailto:sage [2006/01/14(土) 16:04:01 ID:???]
>>300
SVG使えばいんでない。
とりあえず、IEでもプラグイン入れてれば見れるし。


316 名前:nobodyさん [2006/01/14(土) 16:04:19 ID:6WSzNtEC]
ASPのIf文の条件として
varDateというある日付の入った変数を
システム日付プラス1日より過去のものはtrueという
条件をつくりたいのですが、どう記述すればよろしいでしょうか?
よろしくお願い致します。

317 名前:nobodyさん mailto:sage [2006/01/15(日) 00:22:44 ID:???]
DateAdd(d,1,Date()) > varDate

318 名前:nobodyさん mailto:sage [2006/01/16(月) 16:00:20 ID:???]
質問です。

Response.ContentType="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition" , " attachment; filename= data.csv"

Response.Write csvdata

この様な感じで、csvファイルをクライアントに保存させようとしています。
100件程度なら問題ないのですが、数千単位のレコードになると保存のダイアログは出るものの、
ダウンロードのファイル名もaspのファイル名になってしまい、保存できません。

何か対処方法はありますでしょうか?


319 名前:nobodyさん [2006/01/16(月) 16:01:10 ID:UBjBFy/D]
 


320 名前:nobodyさん [2006/01/16(月) 17:08:53 ID:rp3amqOf]
つContent-lngth




321 名前:nobodyさん mailto:sage [2006/01/16(月) 21:02:51 ID:???]
>>318
何故にexcel?

322 名前:nobodyさん mailto:sage [2006/01/17(火) 14:00:57 ID:???]
ASP.NET(aspx)ではなく、既存のASP(asp)の『Server.createObject』を
使用して呼出すことの出来るDLL(COM)を、.NET2003で作成したいのですが、
どうしても上手くいきません...orz

〜試したこと〜
@C# ⇒ クラスライブラリで作成 ⇒ 「COM の相互運用機能に登録」オプションをtrue ⇒ DLL完成
A試しに、VBSから@で作ったDLLを呼出して見る(createObject) ⇒ 成功
BASPから@で作ったDLLを呼出して見る(Server.createObject) ⇒ 失敗..orz
ファイルまたはアセンブリ名 ClassLibrary5、またはその依存関係の 1 つが見つかりませんでした。

VBSから呼出せるってことは、レジストリに
登録されてるってことだと思う。(実際に登録されている)

なんで、ASPからだと使えない?

323 名前:nobodyさん mailto:sage [2006/01/17(火) 14:42:30 ID:???]
>>322
IUSR_XXXがDLLに対するアクセス権を持っていない……とか。

324 名前:322 mailto:sage [2006/01/17(火) 15:03:56 ID:???]
DLLをC:\winnt\system32の下へ持っていったら...orz...動いた...

なんで?レジストリには、DLLのファイルパスまで
あったし、VBSも動いてた!!

全然、わからない!!

325 名前:nobodyさん mailto:sage [2006/01/17(火) 17:18:24 ID:???]
つ 自分のアカウントの PATH とIISサービスの PATH が同じとは限らない。
  というか違う。

326 名前:nobodyさん [2006/01/17(火) 21:05:04 ID:4JhQoD7f]
aspのソースって暗号化出来るんでしょうか?
dbの接続のパスとか書いてるそのままのソースを置くのは、
ちょっとアレかな〜と思いまして。


327 名前:nobodyさん mailto:sage [2006/01/17(火) 21:14:51 ID:???]
>>326
スクリプト エンコーダ
www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/SeconScriptEncoderOverview.asp


328 名前:nobodyさん mailto:sage [2006/01/17(火) 23:07:48 ID:???]
DBの接続文字列とかはレジストリに登録してそれをCOMあたりで呼び込むのがいいと思う。
(レジストリってVBScriptから直接呼び出せたっけ?)

329 名前:nobodyさん mailto:sage [2006/01/18(水) 02:57:39 ID:???]
WshShell.RegRead()使えば読める……はず。そいや使ったことないや。

330 名前:nobodyさん mailto:sage [2006/01/18(水) 18:40:54 ID:???]
>>326
このあたりをどぞ。ASP.NETとありますがASPでも適用できるかと。
Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication
Storing Database Connection Strings Securely
ttp://msdn.microsoft.com/security/securecode/dotnet/default.aspx?pull=/library/en-us/dnnetsec/html/SecNetch12.asp#secnetch12_storingdatabaseconnectionstrings

・Encrypted with DPAPI
・Clear text in Web.config or Machine.config
・UDL files
・Custom text files
・Registry
・COM+ catalog



331 名前:638 [2006/01/21(土) 13:32:23 ID:GsEUkG9T]
ASPにてシステム日付の3日前の日付を取得したいのですが、
下記のようにすると変数varAに 38735 という数字が入ってきます。
システム日付の1日後のvarBには 2006/01/22 と入るのですが、
x日前の日付の取得はどうすればよろしいのでしょうか?

varA =DateDiff("d", 3, date)
varB =DateAdd("d", 1, date)

332 名前:nobodyさん mailto:sage [2006/01/21(土) 14:49:32 ID:???]
>>331
varB =DateAdd("d", -3, date

333 名前:nobodyさん [2006/01/21(土) 18:49:21 ID:AIj0kho+]
326に便乗質問
俺はweb.configに置いてるけどweb.configはサーバーだけで動くとか何とか
呼んだ気がするから安心してたけどひょっとして安心ではない?

334 名前:638 [2006/01/21(土) 19:00:34 ID:GsEUkG9T]
>>332
なるほど、DateAddを使うですね。
ありがとうございました。


335 名前:nobodyさん mailto:sage [2006/01/22(日) 01:05:17 ID:???]
>>333
ここはASP.NETスレじゃないよ><

336 名前:nobodyさん mailto:sage [2006/01/27(金) 14:12:25 ID:???]
ASP → ASP.NET より
ASP → PHPのほうが、乗換えとして、自分の好みに合っている気ガス

337 名前:nobodyさん mailto:sage [2006/01/27(金) 21:52:21 ID:???]
そんなあなたにpythonですよ

338 名前:nobodyさん mailto:sage [2006/01/29(日) 22:28:57 ID:???]
ASPにはhtmlエスケープの関数ってありますか?
昔どこかのサイトで見かけた気がするのですが
失念してしまいました…。

339 名前:nobodyさん mailto:sage [2006/01/29(日) 23:25:38 ID:???]
>>338
JScriptならできる

340 名前:nobodyさん mailto:sage [2006/01/30(月) 00:12:50 ID:???]
>>339
レスありがとうございます。
VBscriptで書いてしまったので、
replaceでしこしこやってみますorz



341 名前:nobodyさん mailto:sage [2006/01/30(月) 03:19:35 ID:???]
>>338-340
Server.HTMLEncode() のことじゃないの?
そうならVBScriptでも使えるけど。

342 名前:nobodyさん [2006/02/01(水) 18:59:54 ID:Im+A4ONK]
かなり行き詰ってて助けてください。

Framework2.0(C#)ベースで作ったDLLをASPで動かしたいのですが、
XPのiis上ではうまく動くのに2003Serverのiisではクリエイトで失敗します。

Set hoge = Server.CreateObject("hoge.hoge")←ここで失敗

両環境下でRegAsmで登録しFrameworkのバージョンも同一です。

なぜ動かないか分からないのですが、
どなたかご教授お願いします。


343 名前:nobodyさん mailto:sage [2006/02/01(水) 21:22:49 ID:???]
>>342 エラー メッセージ プリーズ

344 名前:342 mailto:sagwe [2006/02/01(水) 21:45:57 ID:???]
>>343
Server オブジェクト エラー 'ASP 0177 : 80070002'

Server.CreateObject に失敗しました

です。
権限とかの問題でしょうか?

345 名前:nobodyさん mailto:sage [2006/02/01(水) 22:08:21 ID:???]
>>342 %SystemRoot%は、両方のOSで同じ名前?

346 名前:342 mailto:sage [2006/02/01(水) 22:18:40 ID:???]
>>345
2003サーバの%SystemRoot%が標準で:/windows/system32なら同じにしてます。


347 名前:345 mailto:sage [2006/02/01(水) 22:21:21 ID:???]
>>342 違ってたらゴメンネ。海外のサイトで同じような質問していて

I suspect this is because the DLL is not in a particular location that the CLR is looking
when you create the object. Try copying the DLL to C:\Winnt\System32 or C:\Windows\System32
depending upon whether you have Windows 2000 or Windows XP Professional / 2003 Server.
って答えてたから。

348 名前:342 mailto:sage [2006/02/01(水) 22:33:26 ID:???]
>>347
確認しましたらC:\windows\system32にDLLをおいてTLBを作成しているので
ほかに原因があると思います。

もしかしてRegasmで登録しているのが原因でしょうか?



349 名前:342 [2006/02/02(木) 02:42:30 ID:bVYIWBsA]
どうしても解決しないので一旦age

350 名前:nobodyさん mailto:sage [2006/02/03(金) 02:47:28 ID:???]
ASPでIPアドレスの比較(?)をしたいと考えています。
IPマスクで192.168.1.0/24のような形式のもの(20項目程度)と$ipを比較して含まれていれば真を返すにはどのようにすればいいのでしょうか?
鯖はWinXP ProのIIS(.net Framework無し)、開発環境はVS.net 2005 ExpressEditionです。



351 名前:nobodyさん mailto:sage [2006/02/03(金) 20:14:27 ID:???]
>>350
正規表現?

352 名前:バッカーです ◆KeuXjwWDdE mailto:sage [2006/02/03(金) 20:44:49 ID:???]
範囲の問題じゃないの?



353 名前:nobodyさん mailto:sage [2006/02/04(土) 01:23:48 ID:???]
まんま24ビットの整数にしてAnd取る……って話ぢゃないのか。

354 名前:nobodyさん mailto:sage [2006/02/04(土) 08:16:33 ID:???]
.NETは知らんがVBSじゃオーバーフローしたような記憶が
>24ビットの整数にしてAnd取る

355 名前:nobodyさん mailto:sage [2006/02/04(土) 10:46:54 ID:???]
>>350
IPが連続してるなら正規表現、
バラバラであれば配列にして比較するか、DBを使ってるならSQLだな。

356 名前:nobodyさん mailto:sage [2006/02/04(土) 16:29:50 ID:???]
VBSでもちゃんとCLngすれば24bitも大丈夫だよ

357 名前:350 mailto:sage [2006/02/06(月) 02:39:19 ID:???]
レスありがとうございます。
$ipになってましたがipのミスですorz

検査してくれるような便利な関数があれば良いなぁと考えてたのですが無いのですか・・・。
やはり/で2つに分けて地道にホゲホゲさせないと駄目なのでしょうか?

358 名前:nobodyさん [2006/02/06(月) 10:00:27 ID:kQjET4Ig]
文字列から検索対象文字がいくつあるかカウントする関数はありますでしょうか?
strTest という変数からchar(10)の改行文字のカウントをしたいのですが。

359 名前:nobodyさん mailto:sage [2006/02/06(月) 21:24:02 ID:???]
俺なら地道にFunctionステートメントで、InStr()関数と
For〜Next文でループさせて数えるけどね

360 名前:nobodyさん mailto:sage [2006/02/06(月) 22:22:25 ID:???]
>>350
ipaddrとipnetの間で比較する流れを完全に想像だけで書いてみるw

function conv(ip)
Dim ipary
ipary = split(ip,".")
conv = clng(ipary(0)*256^3) + clng(ipary(1)*256^2) + clng(ipary(2)*256) + clng(ipary(3))
end function

function bitmask(masklng)
Dim mask
mask = clng(0)
for i = 31 to 31-masklng
mask = mask + clng(2^i)
next
bitmask = clng(mask)
end function

function check(ipaddr,ipnet)
ary = split(ipnet,"/")
netaddr = conv(ary(0))
mask = bitmask(ary(1))
if (clng(netaddr) = clng(conv(ipaddr)) and clng(mask)) then
check = true
else
check = false
end if
end function

clngの挟み方は適当。多分使いすぎ。
bitmask辺りは99%の確率でバグってる悪寒w



361 名前:360 mailto:sage [2006/02/06(月) 22:24:50 ID:???]
ミスった!
bitmaskのforはstep -1 でw

362 名前:nobodyさん [2006/02/07(火) 09:32:11 ID:o795fuVl]
レコードセットで、[列名]hoge1,hoge2,hoge3,hoge4.....hogeXXの項目のデータを取ってきて、
このデータを変数に格納したいのですが、
今のところ、
hoge1 = objRS("hoge1")
hoge2 = objRS("hoge2")
hoge3 = objRS("hoge3")
と言ったかなり格好悪いやり方をしています。
これを、スマートにするにはどうしたらいいのでしょうか。

ちなみに
1回目のレコードセットはhoge1〜hoge20
2個目のレコードセットはhoge1〜hoge25
と言ったように、
項目数も変わってくるんです。

363 名前:nobodyさん mailto:sage [2006/02/07(火) 20:18:23 ID:???]
>>362
GetRows

364 名前:nobodyさん mailto:age [2006/02/07(火) 20:41:38 ID:???]
ファイルアップで質問です。

レンタルサーバでファイルアップフォームを
作成しているのですが、BASP21が使えません。
(インストールに管理者権限が必要?)

VBScriptのデフォルトではファイルアップは
できないのでしょうか?
もし、他のモジュールを使えば可能なのであれば、
ファイルをコピーするだけで動くようなものを
教えていただけると助かります。

よろしくおねがいします。

365 名前:nobodyさん mailto:sage [2006/02/07(火) 21:19:33 ID:???]
>>364
ADO.Streamを駆使すれば可能。
来週まで待てば俺作のをupってもいいが…

ttp://blog.so-net.ne.jp/nakagami/archive/c100656
こんなのがあったので参考になるんちゃうか。


366 名前:nobodyさん mailto:sage [2006/02/08(水) 00:09:09 ID:???]
>>364
↓には、昔お世話になったことあるよ。
web.archive.org/web/*/http://www2.dolphinnetservice.ne.jp/Mattn/AcrobatASP/4.html

367 名前:364 mailto:sage [2006/02/08(水) 16:53:03 ID:???]
>>365,366

親切に回答いただきありがとうございます!

>>366 さんのサンプルを作ったところ、
うまくアップロードできたようです。

ただ、これを使うと通常の値
<input type="text"> などはどうやってとるのかが
知識不足のため、ソースを見てもわかりませんでした…

Upload("textbox") とかでもダメっぽいですね。。

368 名前:nobodyさん mailto:sage [2006/02/08(水) 20:31:59 ID:???]
>>367
multipart/form-dataでUPしてBinaryReadで受け取ると
バイト単位の処理になるから、テキストフォームとかと同時にやるとなると面倒くさそうだね。
駄目文字の処理とかも必要になるし。

369 名前:nobodyさん [2006/02/09(木) 02:36:56 ID:v3Lm1+ha]
Basp21のSendMailメソッドで質問があります。

上記メソッドを使用してメールを送信すると、
指定したアドレスに2重送信されてしまい困っています。

メールを送信する直前にDBへ履歴を登録しているので、
前回送信時刻と現在(今回送信)時刻の差(datediff)が60秒以内であれば、
メールを送信しないような処理をしているのですが無駄に終わっています…。

何かいい回避策があるようでしたら教えてください。


370 名前:364=367 mailto:sage [2006/02/09(木) 13:24:29 ID:???]
>>368

やはり受け取ったバイナリを手動でとらないとダメなんですね…ありがとうございます。
ファイルアップとテキストフォームの組み合わせは引き続き調べてみます。



371 名前:バッカーです ◆KeuXjwWDdE mailto:sage [2006/02/09(木) 18:39:04 ID:???]
>>369
アルゴリズムに問題があるのではないかと

372 名前:nobodyさん mailto:sage [2006/02/09(木) 21:01:53 ID:???]
VBScriptで17桁の整数を扱う方法ってある?
通貨型じゃ15桁+小数部4桁だよね?


373 名前:nobodyさん mailto:sage [2006/02/09(木) 22:59:46 ID:???]
京の位に達するのか。
ASPでどんな計算をしようとしているんだw

文字列でいいんじゃねーのけ?

374 名前:nobodyさん mailto:sage [2006/02/10(金) 00:55:41 ID:???]
>>369
その手の質問はBASPの掲示板でしたほうがいいと思うよ

375 名前:nobodyさん [2006/02/10(金) 01:31:16 ID:gbK8yDLA]
Ajaxっぽい非同期通信を組み込んでいて詰まってしまいました。

クライアント側
httpObj.open("GET","gettext.asp?sendData="+Data,true);
httpObj.send(null); //これで送って

サーバー側
getData = Request.QueryString("sendData")     'これで受け取る○

これはうまくいったのですが、送るデータ量が大きくなるとオーバーフローエラー
がでてしまいました。そこでPOSTで送ることにしました。
ところが受け取りがまったく反応してくれません。

クライアント側
httpObj.open("POST","gettext.asp",true);
httpObj.send("sendData="+Data); //これで送って

サーバー側
getData = Request.Form("sendData")         'これで受け取る×
getData = Request.QueryString("sendData")     'これで受け取る×

解決策がありましたらよろしくお願いいたします。

376 名前:nobodyさん mailto:sage [2006/02/10(金) 06:35:31 ID:???]
>>336
ttp://asp2php.naken.cc/
ダウンロードしたら解凍してできたexeファイルの上に、
**.aspのソースをドラッグドロップするだけですよ

377 名前:nobodyさん mailto:sage [2006/02/10(金) 19:40:27 ID:???]
>>375
send前に
httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
をつけるのをマジおすすめ

378 名前:sage [2006/02/10(金) 23:36:15 ID:gbK8yDLA]
>>377
無事動きました!ありがとうございます!

379 名前:nobodyさん mailto:sage [2006/02/11(土) 03:19:38 ID:???]
win2003鯖(web Edition)+IIS6.0+VBscript+BASP21でメール送信をしようとしています。
PHPのmail()関数を使ってメールの送信ができたのでSMTPには問題なさそうです。
ところがVBscriptからだとSMTPで認証を要求されます。

この場合、実行ユーザが違うから権限が違うのかな、と思ったのですが、
Win鯖にうとくどのサービスがどのユーザで実行するか調べたいのですが、
どこで見れるのか教えていただけますでしょうか
また、ググってみたところ、2003web Editionにはユーザ管理機能はない、
ttp://www.fmmc.or.jp/〜fm/nwts/w2003s/ch1/1_1_3.html
なんて書いてあるんですがまじですか?

380 名前:nobodyさん mailto:sage [2006/02/11(土) 07:14:57 ID:???]
>>379
なんだか全然スレ違いくさいが。

>win2003鯖(web Edition)+IIS6.0+VBscript+BASP21でメール送信をしようとしています。
2003ServerにSMTPが動いていて、同じサーバ上からそれを使って送信、
ということでOK?

>VBscriptからだとSMTPで認証を要求されます。
どんな認証が要求される?
ダイアログなどを詳しく。

>この場合、実行ユーザが違うから権限が違うのかな、と思ったのですが、
>Win鯖にうとくどのサービスがどのユーザで実行するか調べたいのですが、
SMTPサービスの実行権限を調べたいなら
コントロールパネル→管理ツール→サービス

>2003web Editionにはユーザ管理機能はない
ActiveDirectoryが無いというだけで、サーバ内でのユーザ管理はもちろんある



381 名前:nobodyさん mailto:sage [2006/02/11(土) 15:21:43 ID:???]
>>380

全然見当違いなところのエラーでした。
BASP21でメールサーバをIPで指定していたんですが、
ループバック(127.0.0.1)で指定したら(゚д゚)ウマーでした
おそらくSMTPのリレー関係の設定の問題でした。
ごめんなさい

382 名前:nobodyさん mailto:sage [2006/02/15(水) 14:02:53 ID:???]
FileSystemObjectで、仮想ディレクトリ内にファイルをコピーしたり削除する場合、
そのフォルダに対して、
「インターネットゲストアカウント PC名\IUSR_PC名」のユーザーアカウントに、
フルアクセスの権限を与えています。

セキュリティーの観点から、こういうのは危ないんでしょうか?


383 名前:nobodyさん [2006/02/15(水) 21:10:42 ID:lSEl6laF]
.
.
Dim GetDate

for i=startYear to lastYear
GetDate = obj.xxxx
i = i + 1
next
.
.
このような形で年度別にGetDateに配列でデータを格納しています。
この年度別に作られる配列を一つの配列変数に代入したいのですが、
どうすればよろしいでしょうか?

384 名前:nobodyさん mailto:sage [2006/02/15(水) 22:15:43 ID:???]
>>382
フルアクセスは実行権限含むからまずい
読み取り+書き込み、がいいかと。

>>383
>>GetDate = obj.xxxx
にループ変数iが絡んでいないのだが?

あと
>>年度別に作られる配列を一つの配列変数に代入したい
言わんとしてる事はなんとなくは分かるが
やりたいことをもう少し具体的かつ厳密に。

385 名前:nobodyさん [2006/02/16(木) 01:51:09 ID:joFVC4f3]
ASPをApacheで動かしたい。
何かよい手はないかな?


386 名前:nobodyさん mailto:sage [2006/02/16(木) 07:33:17 ID:???]
>>385
Apache:ASP

387 名前:nobodyさん mailto:sage [2006/02/17(金) 16:12:51 ID:???]
画像アップロード板みたいなのを作ってるんですが、
データベース部分に、画像のアドレスや、その他情報を書き込み、
画像はBASP21を使いFTPでアップロードしようとしています。


普通なら、トランザクションを開始して、レコードを書き込んで、
ファイルもアップロードしてからコミットという考えだと思うんですが、
webのシステムの場合、ファイルのアップロードのような時間のかかる処理を、
トランザクション内に入れないほうが良いのでしょうか?

webの開発は始めてなので「どうなんだろう??」と悩んでしまい、、、


388 名前:nobodyさん mailto:sage [2006/02/17(金) 16:21:15 ID:???]
>>387
アップロードされるファイルサイズによるが、
普通はアップロードが完了してからDBに書き込むと思うぞ。

あと、BASP21はFTPじゃなくてHTTPのアップロードだと思う。

389 名前:nobodyさん mailto:sage [2006/02/17(金) 17:08:21 ID:???]
>>388
ファイルの名前をDBのIDと関連付けて登録したかったので、
DB→ファイルのアップロードと考えてました。

アップロード→DBとするなら、
もう1個別に採番用テーブルを作ってそれをファイル名とIDにする感じですかね?


390 名前:nobodyさん mailto:sage [2006/02/17(金) 17:57:05 ID:???]
>>389

> ファイルの名前をDBのIDと関連付けて登録したかった

それなら

UP用TEMPフォルダへアップロード

ファイルチェック

DBへ登録&ID取得

正式なフォルダに移動&リネーム

が一番かな。
何にせよ、ファイルアップロードはクライアント側でアップロードをミスることが多いし、
ファイルのチェックとかもしなきゃいけないでしょ?




391 名前:nobodyさん mailto:sage [2006/02/18(土) 15:30:31 ID:???]
>>390
それだと最後の移動&リネームが失敗した時、
再度DBのデータを削除なり更新しに行くハメにならん?

392 名前:nobodyさん mailto:sage [2006/02/18(土) 16:16:18 ID:???]
>>391
一連の流れにDBのトランザクション使えばよくね?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<289KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef