none
新手求助:请问如何使用DbProviderFactory实现对ACCESS和SQL的通用访问? RRS feed

  • 问题

  • 我是一个初学者,最近在做一个小网站,考虑到将来网站的性能和将来的发布,想实现对ACCESS和SQL的通用访问。我想问一下:
    1.如果使用DbProviderFactory,那么在CommandText中是不是要使用SQL语句,还能不能使用存储过程?
    2.ACCESS不支持存储过程和参数,如果CommandText中不能使用存储过程,那么使用SQL语句会不会对网站的安全带来影响,如果有影响,应该怎样防止?
    3.是不是还有其它办法解决这个问题?
    在此先谢谢大家啦!!
    2009年8月24日 13:39

答案

全部回复

  • 您好,
    1、DbProviderFactory创建的是实现DBCommand的类,DBCommand表示对数据库执行的指令。CommandText只是其的关于Sql指令的属性。要决定是否使用存储过程,还需要CommandType来确定。可以对Access调用oledbFactory,对SqlServer调用SqlClientFactory。两者不会冲突。针对不同的存储介质有不同的工厂,所以不存在您提出的担心。

    2、可以用替换字符串来防止,例如替换--这种关键的注释符号,当然可以在网上搜索,相信会有更完善的方法。

    2009年8月24日 14:51
    版主
    • 既然你考虑使用多种数据库那你就需要使用标准化的 T-SQL
    • Access 不支持存储过程,但支持参数化,
    • Access 性能并不差,合理的进行数据分库,中间结果冗余都可以提高访问效率

    知识改变命运,奋斗成就人生!
    2009年8月24日 15:22
    版主