转义SQL查询 - 支持.Net中的不同数据库平台

时间:2009-06-01 22:48:00

标签: .net sql database projects

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

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

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

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

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

我想知道我是否需要在内部创建此内容,或者是否存在现有的商业/开源产品。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

在.NET中,您可以使用泛型类,如DbReader和DbConnection,而不是SqlConnection。像shahkalpesh和Lasse V. Karlsen所说,你可以使用参数,框架或驱动程序将为你处理逃逸。

但实际上,如果您希望为Oracle和Sql Server开发产品,那么您正在谈论MAJOR开销。正确逃离只是冰山一角。如果您尚未安装Oracle和Sql Server测试服务器,则可能尚未启动:)