2009-06-01 28 views
1

是否有.Net項目/ dll,支持用戶提供的輸入到各種數據庫系統的數據庫查詢轉義?轉義SQL查詢 - 支持.Net中的不同數據庫平臺

我希望我們的整個團隊能夠標準化和使用一個模塊來執行轉義用戶提供的輸入,然後將用於參數化SQL查詢。

理想情況下,我想在配置文件中指定數據庫系統(oracle,SqlServer,mySql等),並且能夠調用Escape(variableName),並且它會根據當前數據庫設置轉義字符串內容在web.config文件中。

如果沒有,未來最好的事情會是這樣的EscapeForOracle,EscapeForSqlServer等

在最低限度的項目應該支持Oracle,SqlServer的和MySQL。

我想知道如果我需要創建這個內部或如果現有的商業/開源產品存在做到這一點。

+0

你說「參數化的SQL查詢」,然後你提到了轉義。不確定你的意思。 你能舉一些你想要完成的具體例子嗎?如果你想要進入內部開發的路線,我可能會有可用的開始代碼。 – 2009-06-01 22:50:13

+0

Lasse是正確的 - 如果您爲所有用戶提供的數據使用參數(並且不要在SP內部構建動態SQL),那麼您不必轉義它 - 這就是關鍵所在。 – 2009-06-01 22:53:29

回答

2

我不認爲你會需要這樣的事情。

運行參數化查詢/存儲過程時,請使用參數集合。
指定適當的數據類型,長度,精度&提供有效值。
轉義將由DB提供者完成。

讓我知道,如果我沒有正確理解你的問題。

0

在.NET中,可以使用DbReader和DbConnection等通用類而不是SqlConnection。像shahkalpesh和Lasse V. Karlsen說的,你可以使用參數,框架或驅動程序將處理你的逃跑。但實際上,如果您希望爲Oracle和Sql Server開發產品,那麼您就是在討論主要開銷。正確轉義僅僅是冰山一角。如果你還沒有安裝Oracle和Sql Server測試服務器,你可能還沒有開始:)

相關問題