精华内容
下载资源
问答
  • oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel
  • 在部署某学院的网站时,发现一个错误:FUNCTION config_get ...上网查了查,这是在调用存储过程, 那么config_get就是存储过程名。到数据库里用show procedure status;看了看,一个存储过程也没有。也就是导数据库时...

    在部署某学院的网站时,发现一个错误:

    FUNCTION config_get does not exist.

    找到代码一看,是conn.prepareCall("{call config_get(?,?,?)}");这一句出了错。上网查了查,这是在调用存储过程, 那么config_get就是存储过程名。到数据库里用show procedure status;看了看,一个存储过程也没有。也就是导数据库时没有导存储过程。

    下面是导出存储过程的代码

    # mysqldump -u 数据库用户名 -p -n -t -d -R 数据库名 > 文件名

    其中,-d 表示--no-create-db, -n表示--no-data, -t表示--no-create-info, -R表示导出function和procedure。所以上述代码表示仅仅导出函数和存储过程,不导出表结构和数据。但是,这样导出的内容里,包含了trigger。再往mysql中导入时就会出问题,错误如下:

    ERROR 1235 (42000) at line **: This version of MySQL doesn't yet support ‘multiple triggers with the same action time and event for one table’

    所以在导出时需要把trigger关闭。代码为

    # mysqldump -u 数据库用户名 -p -n -t -d -R --triggers=false 数据库名 > 文件名

    这样导入时,会出现新的问题:

    ErrorCode:1418

    This function has none of DETERMINISTIC, NOSQL, or READS SQL DATA inits declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

    解决方法是,在/etc/my.cnf中找到[mysqld],在它下面添加这样一行:

    log-bin-trust-function-creators=1

    展开全文
  • ERP系统如何通过存储过程导出报表数据 ERP系统如何导出报表数据 总所周知,ERP系统本身框架自带有报表导出功能,但是如果数据量如果过多的话(比方说超过1百万数据量的话),会出现导出数据耗时长等现象。本文将采取...

    ERP系统如何通过存储过程导出报表数据

    在这里插入E图片描述ERP系统如何导出报表数据

    总所周知,ERP系统本身框架自带有报表导出功能,但是如果数据量如果过多的话(比方说超过1百万数据量的话),会出现导出数据耗时长等现象。本文将采取另外一整方式即利用存储过程导出数据。

    步骤如下:1.第一步:首先创建存储过程,Java程序里面要调用存储过程,需要建包和包体。
    在这里插入图片描述创建包的SQL语句

    2.第二步:编写调用Java程序。
    在这里插入图片描述Java调用存储过程写法

    3.第三步。创建填写Excel模板。
    在这里插入图片描述填写Excel通用方法

    4.第四步:Excel导出成功。
    在这里插入图片描述数据导出成功

    以上就是ERP导出大量数据的另外一种方式。

    展开全文
  • sql server存储过程导出数据到Access文件 原版来源于邹建版本,稍有修改 sql server存储过程导出数据到Access文件
  • oracle存储过程导出txt文件

    千次阅读 2018-01-17 18:54:27
    今天看了很多文章,有个需求,需要用存储过程导出txt文件出来。 oracle是在centos6.8上安装的 分几个步骤: 1,创建输出路径,比如你要在c盘test目录下输出,你就先要建立好这个test路径 2,sqlplus下以sysdba...

    今天看了很多文章,有个需求,需要用存储过程导出txt文件出来。

    oracle是在centos6.8上安装的

    分几个步骤:

    1,创建输出路径,比如你要在c盘test目录下输出,你就先要建立好这个test路径

    2,sqlplus下以sysdba登录,执行以下语句

    3,create or replace directory MY_DIR as '/home/shen/test';

    4,grant read,write on directory MY_DIR to ituser;

    5,alter system set utl_file_dir='c:\test' scope=spfile;(可以不要)

    以上步骤执行完,需要重启数据库(可以不用)

    CREATE OR REPLACE PROCEDURE pro_yx_full_txt IS
      export_handle UTL_FILE.file_type;
    BEGIN
      export_handle := UTL_FILE.FOPEN('MY_DIR', 'test.txt', 'w');
      UTL_FILE.PUT_LINE(export_handle,'aaaaaaaaaaaaaaaaaaaaa');
      UTL_FILE.FCLOSE(export_handle);
    EXCEPTION
      WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM, 1, 2000));
    END;
    然后调用存储过程即可

    begin
      pro_yx_full_txt;
    end;
    然后在设定好的路径中就存在了(注意一点是, 这样是生成在服务器上,不是生成在客户端,因为这个问题,我搞了半天,还要注意权限读写的问题)



    展开全文
  • 最近研究oracle存储过程导出excel文件,下面代码可完成,但是却不能分sheet页,还在继续研究; oracle使用文件,必须设置文件路径,配置方法如下: 1、alter system set utl_file_dir='e:\utl' scope=spfile; 2、在...

    最近研究oracle存储过程导出excel文件,但是还没有实现分sheet页,还在继续研究;

    oracle的utl_file包访问文件,必须设置文件访问路径,配置方法如下:

    1、alter    system    set    utl_file_dir='e:\utl'    scope=spfile;  
    2、在init.ora文件中,配置如下:  
       UTL_FILE=E:\utl或者UTL_FILE_DIR=E:\utl  

    SQL> alter system set utl_file_dir='/u01/app/oracle' scope=spfile;

    System altered.

    SQL> startup force;                 

    SQL> show parameter utl_file


    到出SQL存储过程如下:

    create or replace procedure sql_to_csv(p_query    in varchar2, -- plsql文
                                            p_dir      in varchar2, -- 导出的文件放置目录
                                            p_filename in varchar2, -- csv名
                                            p_header   in varchar2 --表头
                                            ) is
      l_thecursor    integer default dbms_sql.open_cursor;
      l_colcnt       number := 0;
      l_separator    varchar2(2) := ',';
      l_desctbl      dbms_sql.desc_tab;
      p_max_linesize number := 32000;
      lv_sql         varchar2(32000);
    begin
      execute immediate 'alter session set nls_date_format=''yyyymmdd hh24:mi:ss''';
    
      lv_sql := '
    
    declare
             l_output utl_file.file_type;
             l_row varchar2(32000) := null;
       cursor c is ' || p_query || ';
       type tp_rows is table of c%rowtype index by pls_integer;
       r tp_rows;
    begin
             l_output := utl_file.fopen(''' || p_dir || ''', ''' ||
                p_filename || '.csv'', ''w'', ' || p_max_linesize || ');
             utl_file.put_line(l_output,''' || p_header ||
                ''');
             open c;
    
             loop
             fetch c bulk collect into r;
    
             for i in 1..r.count loop
                 l_row := ';
    
      dbms_sql.parse(l_thecursor, p_query, dbms_sql.native);
      dbms_sql.describe_columns(l_thecursor, l_colcnt, l_desctbl);
      for i in 1 .. l_colcnt loop
        if i > 1 then
          lv_sql := lv_sql || ' || ''' || l_separator || ''' || ';
        end if;
        lv_sql := lv_sql || 'r(i).' || l_desctbl(i).col_name;
      end loop;
      dbms_sql.close_cursor(l_thecursor);
      lv_sql := lv_sql || ';
                 utl_file.put_line(l_output,l_row,true);
             end loop;
                 exit when c%notfound;
             end loop;
             close c;
    
             utl_file.fclose( l_output );
    exception
             when others then
             utl_file.fclose( l_output );
             dbms_output.put_line(dbms_utility.format_error_backtrace);
             raise;
    end;';
    
      dbms_output.put_line(lv_sql);
      execute immediate lv_sql;
    
      -- utl_file.fremove(p_dir,to_char(sysdate,'yyyymmdd_')|| p_filename||'.csv');
      -- utl_file.frename(p_dir,p_filename||'.tmp',p_dir,to_char(sysdate,'yyyymmdd_')|| p_filename||'.csv');
    
    end;
    


    展开全文
  • 1:数据库dba权限 2:设置路径 3:运行存储过程即可 oracle 存储过程导出 XLS WORD TXT
  • 在数据库中使用下面的脚本创建存储过程,然后执行存储过程,参数为表名,就可以把表的数据输出为SQL脚本
  • mysqldump--导出工具#导出某个数据库--结构+数据shell>mysqldump -h192.168.161.124 -u... /db_bakup/db_name.gz#导出某个数据库的表--结构+数据+函数+存储过程shell>mysqldump -h192.168.161.124 -uroot ...
  • 使用存储过程导出数据到csv文件中,我使用的是utl_file 包 现在的问题是我的数据是分页的,需要生成到不同的sheet页,研究了两天也没结果,有没有大神知道这个怎么实现啊?
  • 定时导出oracle指定用户下指定表的所有数据及格式生成CSV文件,通过存储过程; 1.使用特定用户或者system登陆到oracle执行"存储过程.txt"里面的脚本生成对应的存储过程; (说明:存储过程.txt脚本说明,查询指定用户下...
  • #shell实现,将mysql中存储过程代码直接导出为文件dbcn="mysql -h172.16.1.194 -uroot -p123456 ";db=BCReport_Sync_Executor;ii=0;ct=`$dbcn -N -e " select count(1) from mysql.proc as p where 1=1 and p.db='$...
  • shell实现,将mysql每个存储过程导出为单个文件
  • oracle 使用存储过程导出txt文件
  • //使用方法 sql> 输入如↓注意文件写入权限 SET echo off; SET heading off; SET feedback off; spool /home/oracle/temp.txt; select text from user_source; spool off;
  • 通过存储过程导出ORACLE建表语句

    千次阅读 2017-09-26 10:33:27
    导出单个表的建表语句 注:使用前需要创建directory用于存放导出的建表语句,对应的本地目录首先要创建好,并赋予读写权限 create or replace procedure p_... 本存储过程用于导出生成表结构 其中p_table_...
  • ORACLE表结构与存储过程导出

    千次阅读 2009-01-05 17:41:00
    ORACLE表结构导出:SELECT DBMS_METADATA.GET_DDL(TABLE,u.table_name) FROM USER_ALL_TABLES u 存储过程导出#! /usr/bin/ksh. ~/.profilebeginTime=` date +%Y年%m月%d日%H时%M分%S秒 `bindir=~/work/commonprodir...
  • 导出的文件路径 @databaseName varchar( 255 ), -- 数据库名字 @User varchar( 100 ), -- 用户名 @Psw varchar( 100 ) -- 密码 AS BEGIN exec sp_configure ' show advanced options ' , 1 -- 开启配置 ...
  • Oracle存储过程导出结果到文本文件

    千次阅读 2018-09-13 09:42:03
    存储过程中,我们经常会使用dbms_output来输出一些调试信息到控制台,方便查看。在使用PLSQL DEV的过程中,经常会遇到缓冲区太小的情况,如果你要显示的内容比较多的话。这个时候我们可以使用oracle提供的UTL_FILE...
  • Oracle 存储过程导出大量数据

    千次阅读 2017-05-03 18:01:43
     在itpub论坛中找到newid的存储过程,试验简单的SQL是可以的,当试验非常复杂的SQL的时候,总会遇到报错,'号的问题,大几百行的SQL很难定位问题,然后试验了一种方法解决了这个问题: 1.建一张表,把SQL从excel ...
  • 1、首先要建立一个directory ...2、执行过程,在路径'd:/index' 下有index.txt文件为导出所有索引的创建语句。 create or replace procedure index_frame is type index_name_type is tab...
  • 一般都是导出csv文件CREATE OR REPLACE PROCEDURE SQL_TO_CSV(P_QUERY IN VARCHAR2, -- 查询语句 P_DIR IN VARCHAR2, -- CSV文件存放的目录(此目录只能引用directory中已经定义的目录) P_F...
  • 第一步:点击工具 第二步:点击数据传输 第三步:进行选择(选择连接、数据库、表/存储过程导出为文件) 第四步:选择路径,导出
  • 现在需要将oracle,sqlserver两个库里的表数据和结构导出来,但是不想全部导出,需要每条表100条数据,请问各位大佬,两个库用存储过程分别怎么写、、谢谢谢谢谢谢

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,679
精华内容 1,071
关键字:

存储过程导出