• 締切済み

WEBサーバに超長文SQL文を送信するには

WEBサーバにクライアントマシンから1K以上の長文SQLを送信し、WEBサーバからデータベースサーバにアクセスしてSQLを実行しデータを取得したいと思います。 WEBサーバが1Kを超える長文SQLを受信することができません。 何が悪いのかわかりません。 WEBサーバがSQL文を受け、そこからDBサーバにアクセスする構造は変えたくありません。何かよい方法があれば教えてください。 お願い致します。

みんなの回答

  • ken2tec
  • ベストアンサー率0% (0/0)
回答No.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に暗号コードを含ませるとか…

noname#252164
noname#252164
回答No.1

SQLインジェクションやバッファーオーバーフローのへの攻撃を考えるとWEBサーバーであまり長いSQL文を受け付けるのは危険でしょう。 セキュリティの対策はどうお考えですか

関連するQ&A