游标

ORA-01000: 超出打开游标的最大数(解决及原因)

帅比萌擦擦* 提交于 2019-11-30 12:14:06
还是 chongqingdaxue 缴费平台 , 税票打印完毕 , 上传到财务处时 , 当税票数目较少时(10几张) , 能正常上传 ; 当数目较大时 ( 共 408 张 ), 就上传失败 . 查看 tomcat 日志 , 如下 : 既然超出最大游标数 , 为了第一间让程序恢复正常运行 , 当然 " 脚疼治脚 " , 先把最大游标数调大 : (1). 以 DBA 登录 PL/SQL (2). 打开 Command Window( 注意不是 SQL Window) (3). 输入以下命令 , 修改 oracle 最大游标数为 1000 SQL> alter system set open_cursors=1000 scope=both; (4). 查看最大游标数是否已修改成功 SQL> show parameter open_cursors; (5). 重启 tomcat( 一定要有这一步 , 否则修改不生效 ) 经过以上操作 , 票据顺利上传上去了 , 可是这样治标不治本 , 万一以后来个 1000 张以上的票据要上传 , 那不就又得改游标数了; 在代码里肯定是每处理一张票就打开一个游标的 , 这样是错误的 . 网上找了这个错误代码的相关说明 , 在 这里 发现以下这段话 这样的错误很容易出现在Java代码中的主要原因是:Java代码在执行conn.createStatement(

oracle 基本操作---显示游标

久未见 提交于 2019-11-30 12:04:37
--显式游标 DECLARE --1.声明游标 CURSOR cur_emp IS SELECT * FROM emp; vemp emp%ROWTYPE; BEGIN --2.打开游标 OPEN cur_emp; --循环提取游标行 LOOP --3.提取游标行 FETCH cur_emp INTO vemp; --判断是否提取到行 EXIT WHEN cur_emp%NOTFOUND; DBMS_OUTPUT.PUT_LINE(vemp.ename || ',' || vemp.sal ||' ' || vemp.hiredate); END LOOP; --4.关闭游标 CLOSE cur_emp; END; / 来源: https://www.cnblogs.com/javahua/p/11583604.html

Spring Batch(6)——数据库批数据读写

℡╲_俬逩灬. 提交于 2019-11-30 07:25:31
前序文章陆续介绍了 批处理的基本概念 , Job使用 、 Step控制 、 Item的结构 以及 扁平文件的读写 。本文将接着前面的内容说明数据库如何进行批处理读写。 数据读取 数据库是绝大部分系统要用到的数据存储工具,因此针对数据库执行批量数据处理任务也是很常见的需求。数据的批量处理与常规业务开发不同,如果一次性读取百万条,对于任何系统而言肯定都是不可取的。为了解决这个问题Spring Batch提供了2套数据读取方案: 基于游标读取数据 基于分页读取数据 游标读取数据 对于有经验大数据工程师而言数据库游标的操作应该是非常熟悉的,因为这是从数据库读取 数据流 标准方法,而且在Java中也封装了 ResultSet 这种面向游标操作的数据结构。 ResultSet 一直都会指向 结果集 中的某一行数据,使用 next 方法可以让游标跳转到下一行数据。Spring Batch同样使用这个特性来控制数据的读取: 在初始化时打开游标。 每一次调用 ItemReader::read 方法就从 ResultSet 获取一行数据并执行 next 。 返回可用于数据处理的映射结构(map、dict)。 在一切都执行完毕之后,框架会使用回调过程调用 ResultSet::close 来关闭游标。由于所有的业务过程都绑定在一个事物之上,所以知道到 Step 执行完毕或异常退出调用执行 close

Oracle---day03

懵懂的女人 提交于 2019-11-30 04:27:59
一、视图   对一个查询结果的封装(视图里面所有的数据都是来自于它查询的那张表,视图里面不存储任何数据)    视图的好处:1.能够封装复杂的查询结果          2.屏蔽表中的细节    语法: create [or replace] view 视图名字 as 查询语句 [with read only]       or replace --如果存在就覆盖       with read only --只允许读,不允许修改,一般都会加   同义词--就是给表、视图等取另外一个名字 --创建一个视图 create or replace view view_test1 as select ename,job,deptno from emp; --通过视图修改数据 update view_test1 set ename='SIMITH2' where ename = 'smith2'; --创建一个只读视图 create or replace view view_test2 as select ename,job,deptno from emp with read only; --同义词概念 create synonym yuangong for view_test2; select * from yuangong select * from view_test1; select

sqlsrv使用两个游标

拥有回忆 提交于 2019-11-29 16:31:03
/*单独查询用户表, 分页,显示资源数和点赞数 */ DECLARE @count INT, @pageindex INT, @count1 INT SET @count = 6 SET @pageindex = 0 SET @count1 = 3 SELECT top ( @count ) UserAccount.NickName, UserAccount.HeadPhoto, ( SELECT count( id ) FROM UserAccount ) AS count FROM UserAccount WHERE ID NOT IN ( SELECT top ( @pageindex * @count ) ID FROM UserAccount ) BEGIN DECLARE @a INT, @error INT DECLARE @temp VARCHAR ( 50 ) SET @a = 1 SET @error = 0 DECLARE order_cursor CURSOR FOR ( SELECT top ( @count ) UserAccount.NickName FROM UserAccount WHERE ID NOT IN ( SELECT top ( @pageindex * @count ) ID FROM UserAccount ) ) OPEN

大数据量时Mysql的优化要点

空扰寡人 提交于 2019-11-29 14:01:37
如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。 虽然关系型数据库在海量数据中逊色于NoSQL数据库,但是如果你操作正确,它的性能还是会满足你的需求的。针对数据的不同操作,其优化方向也是不尽相同。对于数据移植,查询和插入等操作,可以从不同的方向去考虑。而在优化的时候还需要考虑其他相关操作是否会产生影响。就比如你可以通过创建索引提高查询性能,但是这会导致插入数据的时候因为要建立更新索引导致插入性能降低,你是否可以接受这一降低那。所以,对数据库的优化是要考虑多个方向,寻找一个折衷的最佳方案。 一:查询优化 1:创建索引。 最简单也是最常用的优化就是查询。因为对于CRUD操作,read操作是占据了绝大部分的比例,所以read的性能基本上决定了应用的性能。对于查询性能最常用的就是创建索引。经过测试,2000万条记录,每条记录200字节两列varchar类型的

[C#][Windows API] 鼠标游标移动、隐藏、取得位置

我们两清 提交于 2019-11-29 12:41:06
[C#][Windows API] 鼠标游标移动、隐藏、取得位置 以下范例中用到的原生方法声明请参考[常用Windows原生方法整理(Windows API)]。 { /// /// 显示或隐藏游标(此效果仅作用于当前处理绪上的所有窗口)。 /// public static void SetCursorVisiable(Boolean Show) { NativeMethods.ShowCursor(Show); } /// /// 取得或设定游标在画面上的座标 /// public static Point CursorPostion { get { Point Output; NativeMethods.GetCursorPos(out Output); return Output; } set { NativeMethods.SetCursorPos(value.X, value.Y); } } } 分享 原文: 大专栏 [C#][Windows API] 鼠标游标移动、隐藏、取得位置 来源: https://www.cnblogs.com/chinatrump/p/11518094.html

[C#][Windows API] 鼠标游标移动、隐藏、取得位置

一世执手 提交于 2019-11-29 12:40:34
[C#][Windows API] 鼠标游标移动、隐藏、取得位置 以下范例中用到的原生方法声明请参考[常用Windows原生方法整理(Windows API)]。 { /// /// 显示或隐藏游标(此效果仅作用于当前处理绪上的所有窗口)。 /// public static void SetCursorVisiable(Boolean Show) { NativeMethods.ShowCursor(Show); } /// /// 取得或设定游标在画面上的座标 /// public static Point CursorPostion { get { Point Output; NativeMethods.GetCursorPos(out Output); return Output; } set { NativeMethods.SetCursorPos(value.X, value.Y); } } } 分享 原文: 大专栏 [C#][Windows API] 鼠标游标移动、隐藏、取得位置 来源: https://www.cnblogs.com/chinatrump/p/11518105.html

3D建模技术-讲稿-7-三叶草星

隐身守侯 提交于 2019-11-29 08:19:30
本实例要完成一个 三叶草星 ,其中涉及到blender多边形建模的多种方法,通过完整实例来学习很多技巧。 物体模式 ,创建一个 六棱柱 (顶点 6,深度1,封盖类型:三角扇片 ) 编辑模式 , 【 Ctrl+r 】 加1条 环切线 。 编辑模式 , 复制物体 ,按 【 a 】 键 对物体全选, 【 shift+d 】 复制, 【 z 】 键 锁定移动轴为z轴,移动鼠标可以看到有相同物体移动, 【 2.5 】 移动2.5单位。 面 编辑模式 ,选择12个面(按【shift】加选,按鼠标中键旋转视图), 【 Alt+e 】 选择“ 挤出 各个 面 ”,移动鼠标挤出一定长度,单击左键确定。 编辑模式 ,缩放中心选择“ 各自的原 点” , 【3】正交左视图,然后 【 s 】 键进行缩放,缩放被选择面,拖动鼠标确定缩放大小,单击左键确定。 【 x 】 或 【 del 】 删除面。 【 B 】 框选要删除的面,图中黄色面是要删除的面, 【 x 】 键删除面。 编辑模式 ,选择上半部分,【G Z】,向下移动 然后进行 点的合并 , 点 编辑模式 , 【 b 】 键 框选两点, 【 alt+m 】【到中心】 ,将两点合并为一点,依次合并其它几组点(共6组外围点) 继续合并 6组内围点 合并之后继续删除多余面,如下图所示 面 编辑模式 ,选择上下面( 【 shift+g 】周长 ), 【 s 】

MySQL之pymysql

纵然是瞬间 提交于 2019-11-29 08:17:42
MySQL之pymysql pymysql的安装 pip install PyMySQL 连接数据库 import pymysql db = pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接 cursor.execute("SELECT VERSION()") # 使用 execute() 方法执行 SQL 查询 data = cursor.fetchone() # 使用 fetchone() 方法获取单条数据 print ("Database version : %s " % data) db.close() # 关闭数据库连接 创建表操作 import pymysql # 打开数据库连接 db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # 使用预处理语句创建表 sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL