プロが教えるわが家の防犯対策術!

DBより検索したデータを一覧表示し、そのデータをcsvファイルへ保存しています。
DBの検索時間が結構かかってしまうため、保存する際に、再度検索を行うのは避けたいと考えています。

そこで、<input type=hidden name=data>に、データをセットして送信していたのですが、
件数が多すぎるとエラーとなってしまいます。

画面上に、送信データが見えなければどんな方法でもかまいません。

どなたかいい方法を教えて下さい。
宜しくお願い致します。

A 回答 (3件)

asp.netであればセッションファイルを利用するがBESTと思います。

データ量が多くてもSQLServerに定義すればメモリもあまり使いません。
    • good
    • 0

ファイルに書き出して、移動させると良いでしょう。



比較的、古くから利用されている手法ですが。

1)ランダムなファイル名を作成する。
2)カタログを確認して、ファイル名が存在しなければ、プロセスIDと共にカタログへ書き込む。
3)次に呼び出すASPに、ファイル名とプロセスIDをパラメータとして渡す。
4)ファイルから必要な情報を取得する。
5)ファイル名とプロセスIDを頼りにして、カタログから該当するファイル名, プロセスIDの情報を削除する。

カタログはテキストファイルで良いです。ファイル名が重ならなければ、パラメータの受け渡しに失敗したり、カタログを消し忘れる。と言うことも無いのですが、プロセスIDを保険で付けて置けば、まず問題は無いでしょう。(同一時間に別プロセスから同一ファイル名が作成されてしまう。と言うことを避けることができる。)

この方法の場合、パラメータを受け渡すファイル名が重なってしまわない様に、カタログを自力で管理する。と言う部分がポイントです。
共通ルーチンとして開発してしまえば、後は使いまわしができるので、比較的簡単ですよ。
    • good
    • 0

動作環境はなんですか?



また、検索結果をCSVに保存するのは、どの時点で誰が行うのですか? 誰に送信するのですか?

たとえば、phpなどのスクリプトであれば検索結果をそのままダウンロードすることもできますし、ディスク上にリダイレクトしてあとからFTPで取得する、という手順も考えられると思いますが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!