错误 47 存储区提供程序工厂类型“Oracle.DataAccess.Client.OracleClientFactory”未实现 IServiceProvi

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误 47 存储区提供程序工厂类型“Oracle.DataAccess.Client.OracleClientFactory”未实现 IServiceProvi相关的知识,希望对你有一定的参考价值。

错误 47 存储区提供程序工厂类型“Oracle.DataAccess.Client.OracleClientFactory”未实现 IServiceProvider 接口。请使用实现该接口的存储区提供程序。这是个什么问题啦啊啊啊啊啊啊啊啊啊!!help

参考技术A 具体点....32/64位的程序?使用的是32/64位的ODP?OS...追问

any cpu 程序 32操作系统编译

追答

编译的时候使用x86

oracle PLSQL块和复合类型

2018-12-04

PLSQL程序块由三个部分组成:声明部分、执行部分、异常处理部分

其结构如下:

  declare

    /*声明部分:说明要用到得变量,类型及游标,以及局部存储过程和函数*/

      /*变量的定义和系统保留字要区分开(sql server 中可用@  PLSQL不能用@)*/

  begin

    /*执行部分:过程及SQL语句*/

      /*必须有*/

  exception

    /*异常处理部分:错误处理*/

  end;

PL/SQL中除了一些常见的变量类型外,还有复合类型

  复合类型分为记录和表

  记录:由单行多列的标量构成的复合结构。可以看做是一种用户自定义数据类型。将一个或多个标量封装成一个对象进行操作。是一种临时复合对象类型。

    语法:

       type record_type is record(

        Field1 type1 [not null] [:= exp1],

        Field1 type1 [not null] [:= exp2],

        ...

        Fieldn typen [not null] [:= expn]);

      其中可以用%type和%rowtype 来为声明的变量快速指明类型。

        %type——使其对应的变量类型与已经定义好的某个数据变量的类型相同

        %rowtype——返回一个记录类型,其数据类型和数据库表的数据结构相同

   :使用记录类型变量只能保存一行数据,这限制了select返回行数,如果SELECT语句返回多行就会错。Oracle提供了另外一种自定义类型,也就是                  表类型,它是对记录类型的扩展,允许处理多行数据,类似于表

    语法:

      type type_name is table of table%rowtype  [index by binary_integer];

例子1:

  技术分享图片

  结果:

    技术分享图片

  在这个例子中注意:声明部分类似JAVA中的类——先定义一个类,然后定义一个它的对象

           执行部分:select —into—from—where  从表中选择一个合适的记录,然后赋值给into后的记录类型变量

例子2:

  技术分享图片

  结果:

   技术分享图片

  在例子2中,C_course%rowtype——说明表类型变量course_table_type的数据类型和C_course表的数据结构相同

         index by binary_integer——指定系统创建一个主键索引,用于引用表类型变量中的特定行

                    /*有这个后面的my_table(1)和my_table(2)才有意义*/

       创建表类型变量的意义就如上面提到的一样,在于处理多行数据。

  

以上是关于错误 47 存储区提供程序工厂类型“Oracle.DataAccess.Client.OracleClientFactory”未实现 IServiceProvi的主要内容,如果未能解决你的问题,请参考以下文章

oracle创建存储过程时,提示错误是:错误(5,18): PL/SQL: ORA-00947: 没有足够的值?代码如下:

oracle创建存储过程时,提示错误是:错误(5,18): PL/SQL: ORA-00947: 没有足够的值?代码如下:

AngularJS 错误:$injector:unpr 未知提供者

在数据存储区的 JSON 类型字段中插入空数组

pl/sql中存储过程怎么写decode(a_id, '12', '风, '28', '区') ?编译报错,decode 功能怎么实现

oracle存储过程报937错误