关于C#通过存储过程操作Oracle数据库

  首先,本人用的是Oracle版本是12.1.0(32位),PL/SQL版本是10.0.3,VS版本是2013旗舰(64位)。之所以说明版本号,是为了排除版本号不同所造成的的影响,不同版本号可能会出现问题。

  然后是正文:

  首先是使用存储过程的优点,在很多时候,连客户都不知道究竟要不要对某些数据进行操作,或者在你项目的程序完成部署之后,客户又觉得某些数据是不需要进行操作的。这些情况是肯定会有的,尤其是在项目程序部署之后才提出的,使用存储过程会让你不会当场抓狂(当然,在客户面前顶多就是心里诅咒个一百遍)。因为很多时候你不会背着源代码到现场,准确的说,这个模块的开发人员不会一定在场。于是,存储过程会让对数据库进行操作的这一模块的可修改性大大提高(毕竟不是写死在代码里,可以做的事情就多了),因为存储过程是可以随时修改的。当然,这也是缺点,万一别人改了导致程序出错怎么办?

  上面就是在对数据库进行操作的时候最好使用存储过程的原因。

  然后就是说明一些需要注意东西:

  1.存储过程需要对数据库进行改动的时候,加上commit;这一句,不然据说在执行某些语句对数据库进行操作之后,查询结果依然是之前的结果(除非你在查询之前重启了数据库)。

  2.开发的时候,C#中的参数列表需要与存储过程中的参数列表顺序一致,否则会导致执行出错(甚至有可能VS和PLSQL都不报错,但是数据操作目标出错),原因是数据库中绑定变量只是起到占位的作用,同名的绑定变量并不意味着它们是相同的,在传递时要考虑的是传递的值与绑定变量出现顺序的对位,而不是绑定变量的名称。具体参详http://czmmiao.iteye.com/blog/1489625

  3.程序部署之后,修改存储过程,一定要记得参数顺序。

  目前暂时那么多,有修改的话会往下更的。——2014-01-17 10:51

posted on 2014-01-17 10:50  貂猫  阅读(462)  评论(0)    收藏  举报

导航