精华内容
下载资源
问答
  • 2017-05-11 16:15:58
    cx_Oracle安装需要依赖oracle客户端的一些包,
    所以我们经常安装cx_Oracle之前,而不得不先安装oracle客户端
    但是cx_Oracle依赖的东西并不多,感觉有点得不偿失,所以下面给出一种解决方法能简单很多。

    先下载instantclient-basic-linux.x64-11.2.0.4.0.zip,instantclient-sdk-linux.x64-11.2.0.4.0.zip
    再下载cx_Oracle-5.1.3.tar.gz包
    然后按照如下步骤执行即可:
    mkdir /opt/oracle
    cd /opt/oracle
    unzip /opt/oracle/instantclient-basic-linux.x64-11.2.0.4.0.zip
    unzip /opt/oracle/instantclient-sdk-linux.x64-11.2.0.4.0.zip
    cd /opt/oracle/instantclient_11_2
    ln -s libclntsh.so.11.1 libclntsh.so
    export LD_RUN_PATH=/opt/oracle/instantclient_11_2
    export ORACLE_HOME=/opt/oracle/instantclient_11_2
    tar –zxvf cx_Oracle-5.1.3.tar.gz 
    cd cx_Oracle-5.1.3
    python setup.py install
    更多相关内容
  • oracle包的创建

    千次阅读 2021-05-03 06:06:54
    的组成1)包头(package):包头部分申明内数据类型,常量,变量,游标,子程序和异常错误处理,这些元素为的公有元素。2)主体(package body):主体则是定义部分的具体实现,它负责为包头中所声明子程序...

    一 包的组成

    1)包头(package):包头部分申明包内数据类型,常量,变量,游标,子程序和异常错误处理,

    这些元素为包的公有元素。

    2)包主体(package body):包主体则是包定义部分的具体实现,它负责为包头中所声明子程序

    提供具体的实现,在包主体中还可以声明包的私有元素

    3)包头和包主体分开编译,并作为两个分开的对象分别存放在数据库字典中

    --删除package

    --drop package pkg_lxg_test;

    --1)首先创建package头(头和body的sql不要写在同一个文件中执行)

    ---- 这里可以声明多个procedure(如果外部调用才声明)

    create or replace package pkg_lxg_test as

    procedure deleteTask(taskTypeCode  in varchar2, --任务类型代码

    businessKey   in varchar2, --业务号

    resultCode    out varchar2, --结果代码

    resultMessage out varchar2 --结果信息

    );

    end pkg_lxg_test;

    --)2 再创建package体(上面的头不能和体一起执行,移交时应该写成两个sql文件进行移交)

    --)3 创建完成后,如果创建成功了会自动编译的

    --)4 如果在创建package不成功的话,在查看和说明中可以查看到错误

    --)5 package创建完成后,-->右键,查看--->然后选中你要测试的package中的proc点击右键---》测试

    CREATE OR REPLACE PACKAGE BODY NBADATA.pkg_lxg_test AS

    function function2(taskTypeCode  in varchar2,businessKey in varchar2) return varchar2

    is

    v_preview_environment  varchar2(4);

    v_voucher_no varchar2(50);

    v_count          number default 0;

    begin

    v_preview_environment:= ‘1‘;

    --dbms_output.put_line(‘执行了方法function2‘);

    return v_preview_environment;

    end function2;

    --这里定义procedure,可以定点多个

    procedure deleteTask(taskTypeCode  in varchar2, --任务类型代码

    businessKey   in varchar2, --业务号

    resultCode    out varchar2, --结果代码

    resultMessage out varchar2 --结果信息

    ) IS

    begin

    begin

    resultCode    := ‘0‘;

    resultMessage := ‘delete asynchrouns task sucess‘;

    --dbms_output.put_line(‘成功执行了存储过程‘);

    exception

    when others then

    resultCode    := ‘1‘;

    resultMessage := ‘fail in deleting asynchrouns task sucess‘;

    end;

    end deleteTask;

    end pkg_lxg_test;

    /

    oracle包的创建

    标签:oracle package

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:http://6817977.blog.51cto.com/6807977/1891136

    展开全文
  • Oracle 详解(package)

    千次阅读 2020-10-14 21:41:11
    2. 的组成(程序部署顺序:'先执行包头,再执行体') (1) 包头:package (2) 体:package body 3. 授权: grant execute on 属主.名 to 用户1, 用户n; 4. 调用: '属主.名.存储过程名()' 或 '属主.

    1 概述

    1. 包的概念
    	(1) 模块化的思想,用于分类管理过程(procedure)和函数(function(2) 类似于 Java、Python 等语言中的 类(class)
    	
    2. 包的组成(程序部署顺序:'先执行包头,再执行包体'(1) 包头:package
    	(2) 包体:package body
    
    3. 授权: grant execute on 属主.包名 to 用户1, 用户n;
    
    4. 调用: '属主.包名.存储过程名()''属主.包名.方法名()'
                       
    5. 建议
    	(1) 数据库中所有的过程(procedure)和函数(function)都要用 package 进行封装:便于管理
    	(2) 单个的过程(procedure)和函数(function)建议不超过 3000(3) 每个 package 在 create 时都要带上 '属主'(避免所处位置错误)
    

    2 示例

    效果截图示例:用户 hr 调用用户 scott 中的 package,来判断 某表 是否存在于 scott 中

    在这里插入图片描述

    包头:

    CREATE OR REPLACE PACKAGE scott.pkg_public_toolkit IS
       PROCEDURE p_whether_table_exists(i_table_name IN sys.all_tab_comments.table_name%TYPE,
                                        o_flag       OUT VARCHAR2,
                                        o_message    OUT VARCHAR2);
    
       FUNCTION f_whether_table_exists(i_table_name IN sys.all_tab_comments.table_name%TYPE)
          RETURN VARCHAR2;
    END pkg_public_toolkit;
    /
    GRANT EXECUTE ON scott.pkg_public_toolkit TO hr;
    

    包体:

    CREATE OR REPLACE PACKAGE BODY scott.pkg_public_toolkit IS
       -- *********************************************
       -- 功能说明: 判断用户 scott 中是否存在表
       -- 参数说明: i_table_name  表名 
       --           o_flag        程序执行标志,Y:成功,N:失败
       --           o_message     程序执行的描述信息
       -- 修改记录:create by yoyo 2020/10/14
       -- *********************************************
       PROCEDURE p_whether_table_exists(i_table_name IN sys.all_tab_comments.table_name%TYPE,
                                        o_flag       OUT VARCHAR2,
                                        o_message    OUT VARCHAR2) IS
          v_count NUMBER(1);
       BEGIN
          -- 判断依据:用户 scott 中是否存在表
          SELECT COUNT(1)
            INTO v_count
            FROM user_tab_comments ust
           WHERE ust.table_name = upper(i_table_name);
       
          -- 程序执行描述信息
          IF v_count >= 1 THEN
             o_message := '存在';
          ELSE
             o_message := '不存在';
          END IF;
       
          -- 程序执行标识
          o_flag := 'Y';
       EXCEPTION
          WHEN OTHERS THEN
             o_flag := 'N'; -- 执行失败
             dbms_output.put_line(dbms_utility.format_error_backtrace); -- 报错的行号
             dbms_output.put_line(SQLCODE || ' : ' || SQLERRM); -- 报错的编号及内容
       END p_whether_table_exists;
    
       -- *********************************************
       -- 功能说明: 调用存储过程 p_whether_table_exists 的方法
       -- 参数说明:i_empno   部门编号
       --   返回值: i_table_name  表名
       -- 修改记录:create by yoyo 2020/10/14
       -- *********************************************
       FUNCTION f_whether_table_exists(i_table_name IN sys.all_tab_comments.table_name%TYPE)
          RETURN VARCHAR2 IS
          o_flag    VARCHAR2(2);
          o_message VARCHAR2(100);
       BEGIN
          p_whether_table_exists(i_table_name => i_table_name,
                                 o_flag       => o_flag,
                                 o_message    => o_message);
          RETURN o_message;
       END f_whether_table_exists;
    END pkg_public_toolkit;
    /
    

    创建完成后,在 PL/SQL 中也可以找到 Package 的位置:
    在这里插入图片描述

    3 请注意

    1. 授权完成,仅表示 '用户n' 能够 '执行' 该 pkg,
       不能保证 '用户n' 能够查询该 pkg 中的 '对象(如:表)', 如图 3.1
    
    2. package、procedurefunction 声明时 isas 的区别
    	(1) 在 package、procedurefunction 及自定义类型 type 时,asis 一样,没区别
    	(2) 在声明游标(cursor)时,只能使用 is 而不能使用 as
    	(3) 在创建视图(view)时,只能使用 as 而不能使用 is 
    
    3. 规范:package、procedurefunction 在结束时的 end 后面都要带上对应的名字
            只有匿名语句块的 end 后面才不带名字,如:
            begin
               pl/sql 语句;
            end;
    

    图 3.1:用户 hr 查询表 scott.emp 报错

    在这里插入图片描述

    解决办法:授权
    grant select on scott.emp to hr;
    revoke select on scott.emp from hr; -- 回收权限。
    
    展开全文
  • java连接oracle的jar

    2018-11-05 21:29:44
    jdbc中的java链接Oracle数据库所需jar,ojdbc14.jar。
  • kettle连接Oracle数据库需要的jar
  • oracle12c驱动jaroracle12c程序的数据库驱动程序。少了这个驱动,在开发java的时候就会出现oracle数据库数据乱码等问题。需要的朋友欢迎在下载安装。oracle12c功能特点Adaptive执行计划:拥有学习功能的执行...
  • oracle11g的依赖资源

    2020-12-02 13:26:56
    oracle11g安装的依赖。 linux上安装oracle11g需要的安装的所有依赖的环境,gcc,cpp等所有依赖的资源都加载在这个压缩文件中,安装命令:rpm -ivh *.rpm --force --nodeps
  • oracle 调用

    千次阅读 2017-08-01 19:42:18
    create package body testpack --创建体,里面具体实现包头定义的方法.注意格式 is    function tax(v_money number) return number is  begin  if(v_money) then null;  elsif(v_money>=3500 and ...
    create package testpack --创建一个包头,里面定义变量和方法名称,方法参数,返回值类型
    is                   
                    v_tax number;
                    v_s number;
                      Function tax(v_money number) return number;
                      function addd(v_a number,v_b number) return number;
    end testpack;














    create package body testpack --创建包体,里面具体实现包头定义的方法.注意格式
    is       
             function tax(v_money number)   return number is
             begin

               if(v_money<3500) then null;
              elsif(v_money>=3500 and v_money<5000) then v_tax := (v_money-3500)*0.03-0;
              elsif(v_money>=5000 and v_money<8000) then v_tax := (v_money-3500)*0.1-105;
              elsif(v_money>=8000 and v_money<12500) then v_tax := (v_money-3500)*0.2-555;
              elsif(v_money>=12500 and v_money<38500) then v_tax := (v_money-3500)*0.25-1005;
              elsif(v_money>=38500 and v_money<58500) then v_tax := (v_money-3500)*0.3-2755;
              elsif(v_money>=58500 and v_money<83500) then v_tax := (v_money-3500)*0.35-5505;
              elsif(v_money>=83500) then v_tax := (v_money-3500)*0.45-13505;  
                  
                end if;
                return v_tax ;
             end tax;
             
             
             function addd(v_a number,v_b number) return number is
               begin

                 v_s := v_a+v_b;
                 
                 return v_s;
                end addd;
             
                          
    end testpack;





    ---调用方法


    declare
         v_tax number;
         v_s number;
        begin
          v_tax:= scott.testpack.tax(&input2);
          v_s := scott.testpack.addd(&input,&input1);
          dbms_output.put_line(v_s);
           dbms_output.put_line(v_tax);
          end;
    展开全文
  • jar
  • oracle.jar下载

    2018-01-13 00:14:42
    oracle.jar下载,内含有oracl.jar5和oracle.jar6两个,下载可用。
  • oracle各java连接驱动

    2018-08-13 17:46:22
    ojdbc6-11.2.0.1.0.jar ojdbc6-11.2.0.3.jar ojdbc7-12.1.0.1.1.jar ojdbc14-10.2.0.2.0.jar
  • Oracle19c 驱动jar

    2020-09-24 16:39:16
    包含JDK8、JDK10所需要的驱动,下载完成后可直接使用,或者使用cmd命令安装到maven资源库后,配置使用。
  • Linux下安装ROracle包

    千次阅读 2016-08-16 09:56:00
    1.下载oracle clienthttp://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.htmloracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpmoracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm...
  • oracle19c驱动jar.zip

    2020-04-18 15:05:52
    oracle的驱动jar,jdk1.8下用 ojdbc8.jar,jdk10下用ojdbc10.jar,
  • Oracle-jar

    2018-11-18 11:16:47
    Oracle驱动jar,里面包含Oracle10,11g,12c的最新jar,欢迎下载使用
  • Oracle12C驱动JDBC

    2018-03-14 11:15:46
    非常完整的Oracle12c 驱动 JDBC,包含:ojdbc8_g.jar等五个jar文件
  • 为CentOS7环境安装oracle rac 所需的依赖pdksh,包含两个rpm文件,亲测可用。
  • oracle 调试 步骤

    千次阅读 2016-10-21 10:46:18
    资源下载:http://download.csdn.net/download/sat472291519/9659808
  • oracle11g的驱动,包括classes12.jar,ojdbc5.jar,ojdbc6.jar;
  • 内置安装教程!亲测在centos6下所有依赖全部包含!!!
  • 内网环境下最小化centos7.4,离线安装oracle需要的依赖
  • oracle11.2.0.4补丁.zip

    2020-08-31 14:42:32
    Oracle 11.2.0.4的最新补丁,有说明安装顺序, 经测试验证没问题,请放心下载。 经测试验证没问题,请放心下载。 经测试验证没问题,请放心下载。 经测试验证没问题,请放心下载。
  • Python通过cx_Oracle包提供的接口连接Oracle后可以很方便地进行数据的增删改查操作,但不同版本的Oracle数据库、Python需下载版本对应的cx_Oracle才可连接成功。 cx_Oracle下载 新版本的cx_Oracle可通过命令pip ...
  • oracle判断是否包含字符串

    万次阅读 2018-12-14 14:22:29
    一、oracle判断是否包含字符串的方法 1、contains,contains用法如下: select * from students where contains(address, 'beijing') 但是,使用contains谓词有个条件,那就是列要建立索引,也就是说如果上面语句中...
  • ojdbc 5 6 7 8 10 满足各个版本的oracle 驱动下载 oracle10g 11g 12c 18c 19c 版本所用jar
  • oracle所有版本jdbc的jar,除了oracle8i,最新版本是oracle18c
  • oracle 11g jdbc 驱动
  • oracle包的简单创建和调用-例子

    千次阅读 2018-02-13 14:14:04
    oracle包的简单创建和调用-例子 oracle包的简单创建和调用-例子 创建包头 创建包体 包调用 调用 调用结果打印 其他 查询结果 创建包头 -- 创建包头 create or replace package pack_test1 is --...
  • centos7安装oracle11g操作步骤+依赖,实测好用! centos7+oracle11g所需要的所有rpm,全部都在文档附件里。
  • Oracle驱动

    2017-09-06 10:01:44
    Oracle驱动,Oracle驱动,Oracle驱动,Oracle驱动,Oracle驱动,Oracle驱动,Oracle驱动,Oracle驱动,Oracle驱动,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 582,425
精华内容 232,970
关键字:

oracle 包