1

是否有 .Net 项目/dll 支持将用户提供的输入转义到各种数据库系统的数据库查询?

我希望我们的整个团队标准化并使用一个模块来执行用户提供的输入的转义,然后将其用于参数化的 SQL 查询。

理想情况下,我想在配置文件中指定数据库系统(oracle、SqlServer、mySql 等)并能够调用 Escape(variableName),它会根据 web.xml 中的当前数据库设置转义字符串内容。配置文件。

如果不是,那么下一个最好的东西就是 EscapeForOracle、EscapeForSqlServer 等。

该项目至少应支持 Oracle、SqlServer 和 MySql。

我想知道我是否需要在内部创建这个,或者是否存在现有的商业/开源产品来做到这一点。

4

2 回答 2

2

我不认为你会需要这样的东西。

运行参数化查询/存储过程时,请使用参数集合。
指定适当的数据类型、长度、精度并提供有效值。
转义将由数据库提供者完成。

如果我没有正确理解您的问题,请告诉我。

于 2009-06-01T22:52:05.663 回答
0

在 .NET 中,您可以使用 DbReader 和 DbConnection 等通用类来代替 SqlConnection。就像 shahkalpesh 和 Lasse V. Karlsen 所说,您可以使用参数,框架或驱动程序将为您处理转义。

但实际上,如果您希望同时为 Oracle 和 Sql Server 开发产品,那么您说的是主要开销。正确逃避只是冰山一角。如果您还没有安装 Oracle 和 Sql Server 测试服务器,那么您可能还没有开始 :)

于 2009-06-01T23:11:47.463 回答