質問 |
||
| QNo.3416739 | WEBサーバに超長文SQL文を送信するには | |
|---|---|---|
| 質問者:su-user |
WEBサーバにクライアントマシンから1K以上の長文SQLを送信し、WEBサーバからデータベースサーバにアクセスしてSQLを実行しデータを取得したいと思います。 WEBサーバが1Kを超える長文SQLを受信することができません。 何が悪いのかわかりません。 WEBサーバがSQL文を受け、そこからDBサーバにアクセスする構造は変えたくありません。何かよい方法があれば教えてください。 お願い致します。 |
|
困り度:
|
||
| 質問投稿日時: 07/10/10 09:10 |
||
回答 |
|
| ANo.2 | URLやURLのQueryStringにはWEBサーバーによって、MaxBufferとか URLセパレーター間の文字数であるとかサイズ制限の設定値があり ます。またブラウザ側にも発行できるサイズの制限があります。 どのように発行して何で取得しようとしているのかが不明ですが、 手法としては、XMLHTTPを使用して長文SQLはPOSTデータとして送信 します。 WEBサーバー側では、Requestオブジェクトを工夫してTextとして取得 してSQLとして発行します。 レコードセットはXMLでResponseに書き込みます。 クライアント側はPOST後のResponseTextを直接XMLとして見るか、 XMLDomDocument.LoadXml→Recordset.Open XMLDomDocument として、通常のRecordsetに落とすことが出来ます。 ややこしそうですが、VBAやVBScriptの使えるプラットフォームなら サーバー側・クライアント側ともに10数行のコードで実現できます。 (ちょっとしたテクニックは必要ですが…) あと、少なくともセキュリティ上の配慮はないと危険です。 例えば、delee/drop/truncate/update/insert等が含まれていたら 実行しないとか、Querystringに暗号コードを含ませるとか… |
|---|---|
| 回答者:ken2tec | |
| 種類:回答 どんな人:専門家 自信:自信あり |
|
| 回答日時: 07/10/16 12:34 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.1 | SQLインジェクションやバッファーオーバーフローのへの攻撃を考えるとWEBサーバーであまり長いSQL文を受け付けるのは危険でしょう。 セキュリティの対策はどうお考えですか |
|---|---|
| 回答者:takkey-T | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 07/10/10 09:41 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |