ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

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
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示