c#操作oracle的通用类

usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Linq;usingSystem.Text;usingDDTek.Oracle;usingSystem.Configuration;namespaceCommon{////<summary>///OracleHelper的摘要说明。///</summary>publicclassOracleHelper{protectedOracleConnectionConnection;privatestringconnectionString;publicOracleHelper(){stringconnStr;connStr=System.Configuration.ConfigurationSettings.AppSettings["connStr"].ToString();connectionString=connStr;Connection=newOracleConnect...
代码星球 代码星球·2020-04-05

maven如何安装oracle驱动jdbc的jar包

一、因为oracle驱动的压缩包在maven官网上并没有提供,所以需要自己去手动下载。(1)第一步:找到你本地的oracle驱动包所在位置:(2)在cmd中打开jar包所在的位置(3)在cmd窗口下输入以下maven安装命令mvninstall:install-file-Dfile=D:jarojdbc6-6.jar-DgroupId=com.oracle-DartifactId=ojdbc6-Dversion=6-Dpackaging=jar(这个地方-Dfile后边跟的跟你本机上oracle驱动的jar包的名字和路径要一致) 引用如下:      <!--oracle的驱动包--><dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>6</version></dependency>    如下图就为下载成功 查看本地仓库 到此就结束了,因为...

maven中的pom配置文件一——spring,mybatis,oracle,jstl,json,文件上传

1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"3xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"4xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">5<modelVersion>4.0.0</modelVersion>67<groupId>aaa</groupId>8<artifactId>test_maven_316_01</artifactId>9<version>1.0-SNAPSHOT</version>10<!--properties标签可以声明变量-->11<properties>12<project...

oracle的sql语句优化

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。 2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:selectidfromtwherenum=0 3.应尽量避免在where子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 4.应尽量避免在where子句中使用or来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenum=10ornum=20可以这样查询:selectidfromtwherenum=10unionallselectidfromtwherenum=20 5.in和notin也要慎用,否则会导致全表扫描,如:selectidfromtwherenumin(1,2,3)对于连续的数值,能用between就不要用in了:selectidfr...
代码星球 代码星球·2020-04-05

oracle中表空间管理,游标

oracle使用表空间来管理数据库的对象(表,序列,过程,函数,游标等)。oracle的逻辑结构(看不见的):oracle数据库=》表空间=》表序列 过程等对象。oracle的物理结构(能看见):oracle数据库=》oracle的数据文件=》数据段=》数据区间=》数据块。oracle的数据文件分三种:1、控制文件,以ctl结尾,控制文件中存储oracle运行所需要的字典,用户等对象。2、日志文件,以log存储oracle操作产生的日志文件,还包含oracle的重做日志。3、数据文件,存储用户或者系统创建的对象 表空间也是对象,需要存储到数据文件中,所以创建表空间的时候需要指定使用哪个数据文件。createtablespace表空间名称datafile'存储的位置文件名.dbf' 指定表空间使用的数据文件,如果文件不存在会自动创建size50m表空间的初始大小autoextendonnext30m表空间如果空间不够用了,下次自动扩展的大小maxsize 300m指定表空间的最大存储空间; 例子:1--创建表空间2createtables...

oracle中的创建过程,函数,包

存储过程是在oracle中存取完成特定业务逻辑的代码块。存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次。命名块可以多次使用。 create[orreplace]procedure存储过程的名称(参数名[in/out/inout]参数类型,参数名...)]is/as 变量声明部分begin业务逻辑处理部分exception异常处理部分end;例子:使用plsql声明一个存储过程,传一个员工编号的参数,返回员工的姓名和基本工资。1我们可以使用匿名块调用存储过程:2--创建存储过程输入员工编号返回员工姓名基本工资3createorreplaceprocedurepro_emp_test(v_empnonumber,v_ename4outvarchar2,v_saloutnumber)5is6--变量声明部分7begin8--业务逻辑处理部分9selectename,salintov_ename,v_salfromempwhereempno=v_empno;10end;--匿名块中调用存储过程11d...

oracle中plsql练习-----在控制台输出1到100以内的素数。

一、思路:首先需要知道素数的概念即质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。中心思想是,外循环所有的自然数,内循环折半查询,增加代码的速度,注意:从1开始,需要大于1,但是plsql中的循环是包括两端的值的,所以初始值应该从2开始。 二、具体实现1--在控制台输出1到100以内的素数。23declare4--声明一个boolean类型的变量,用作判断输出5v_zboolean;6begin7--循环100以内的数字8foriin2..100loop9--满足条件即为true10v_z:=true;11--内循环,如果自然数不为素数,则不能被被2正常,直接就不走内循环,12--如果不是素数,则继续走内循环,将v_z赋值为false,为后边的输出做判断13forjin2..trunc(i/2)loop14--内循环中的算法是折半查询,例如:18不是素数,则18能被2整除,也就得到了18最大的因数为9,依次类推,提高了算法的效率。15if(mod(i,j)=0)then16v_z:=false;1718endif;1920endloop;21--最后输出判断,...

oracleplsql练习-----编写一个PL/SQL块,输出所有员工的员工姓名、员工号、工资和部门号

一、思路:首先输出需要变量接收,需要声明变量,于是考虑什么变量类型比较合适,在这我用的是table类型,最后,查询出来,循环输出即可。 二、具体实现1--编写一个PL/SQL块,输出所有员工的员工姓名、员工号、工资和部门号2declare3--声明table类型的对象,属性员工姓名:ename,员工号:empno,工资:sal,部门:deptno4typeemp_table_typeistableofemp%rowtype5indexbybinary_integer;6--声明table类型的变量,用来存储员工表的所有数据7v_empemp_table_type;89begin10select*bulkcollectintov_empfromemp;1112forv_iinv_emp.first..v_emp.last13loop14dbms_output.put_line('员工姓名:'||v_emp(v_i).ename||'员工工资:'||v_emp(v_i).sal||'员工部门:'||v_emp(v_i).deptno);1516endloop;1718end;&n...

oracle中pl/sql 练习题----输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金)

一、思路:声明record类型的变量,根据多表联合查询查出想要的数据,最后输出。二、注意:record类型不一定只是一个表中的数据,也可以声明不同表中的数据类型。 三、语句如下:1declare2--声明record类型3typeemp_record_typeisrecord(4deptnoemp.deptno%type,5dnamedept.dname%type,6countemp.sal%type,7avgemp.sal%type8);910--声明record类型的变量11v_empemp_record_type;12begin1314--查询数据,给变量赋值15selecte.deptno,d.dname,count(e.ename)ascount1,avg(sal+nvl(comm,0))intov_empfrom16empeinnerjoindeptdond.deptno=e.deptnowheree.deptno=&nogroupbye.deptno,d.dname;17--selectename,sal,sal+nvl(comm,0)intov_emp...

oracle去除重复数据与oracle分页

 一、去除oracle中重复数据,可以使用rowid列,rowid列是一个伪列,该列在数据库中灭一个表中都有,但是我们查询数据库的时候,默认都没有给我们返回这一列,这一列用来区分数据库中的每一行时间,可以这样认为,子啊数据库中所有表的所有数据中,rowid都不会重复,一般主键只能保证在当前表中不重复。 语句(以user表为例):1deletefromusersu1whereexists(select1fromusersu2whereu1.username=u2.usernameandu1.password=u2.passwordandu1.rowid?u2.rowid); 二、分页查询。,mysql使用limit进行分页,oracle中没有limit关键字,子啊oracle中使用rownum进行分页,rownum是一个伪列,但是rownum和rowid不同的地方是rownum在数据库中不存在,rowid物理上存在这一列 语句(以emp表为例):1select*from(selecte.*,rownumrfromempewhererownum<...

JDBC连接各种数据库的方法,连接MySql,Oracle数据

JDBC连接各种数据库的方法: JDBC编程步骤:1、导入jar包2、注册驱动3、获取数据库连接对象4、定义SQL语句5、获得执行SQL语句对象statemnet6、执行SQL语句7、处理结果8、释放资源 1)JDBC连接Oracle数据库Class.forName("oracle.JDBC.driver.OracleDriver").newInstance();  //注册驱动Connectioncon=DriverManager.getConnection("JDBC:oracle:thin:@localhost:1521:orcl",“你的oracle数据库用户名”,“用户名密码”);  //获取数据库连接对象 2)JDBC连接MySql数据库class.forName("com.mysql.jdbc.Driver");  //注册驱动Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","你的mysq...

Oracle Java SE远程安全漏洞(CVE-2013-5878)

漏洞版本:OracleJavaSE7u45OracleJavaSE6u65漏洞描述:BUGTRAQID:64927CVE(CAN)ID:CVE-2013-5878JavaSE是基于JDK和JRE的Java平台标准版的简称,用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。OracleJavaSE6u65、7u45,JavaSEEmbedded7u45,OpenJDK7在实现上存在安全漏洞,被未经身份验证的远程攻击者成功利用后可影响完整性、可用性、机密性。<*参考http://www.oracle.com/technetwork/topics/security/cpujan2014-1972949.htmlhttp://sebug.net/appdir/Oracle*>安全建议:厂商补丁:Oracle------Oracle已经为此发布了一个安全公告(cpujan2014-1972949)以及相应补丁:cpujan2014-1972949:OracleCriticalPatchUpdateAdvisory-January2014链接:http://www....

Oracle MySQL Server 安全漏洞

漏洞名称:OracleMySQLServer安全漏洞CNNVD编号:CNNVD-201401-317发布时间:2014-01-22更新时间:2014-01-22危害等级:中危  漏洞类型: 威胁类型:远程CVE编号:CVE-2013-5882MySQLServer是美国甲骨文(Oracle)公司的一套开源的关系数据库管理系统。该数据库系统具有性能高、成本低、可靠性好等特点。         OracleMySQL5.6.13及之前的版本的MySQLServer组件中的StoredProcedures子组件存在安全漏洞远程攻击者可利用该漏洞造成拒绝服务,影响数据的可用性。目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接:         http://www.oracle.com/technetwork/topics/security/cpujan2014-1972949...

Oracle MySQL Server 拒绝服务漏洞

漏洞名称:OracleMySQLServer拒绝服务漏洞CNNVD编号:CNNVD-201401-316发布时间:2014-01-22更新时间:2014-01-22危害等级:中危  漏洞类型: 威胁类型:远程CVE编号:CVE-2013-5881MySQLServer是美国甲骨文(Oracle)公司的一套开源的关系数据库管理系统。该数据库系统具有性能高、成本低、可靠性好等特点。         OracleMySQL5.6.14及之前版本的MySQLServer组件中的InnoDB子组件存在拒绝服务漏洞。远程攻击者可利用该漏洞造成拒绝服务,影响数据的可用性。目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接:         http://www.oracle.com/technetwork/topics/security/cpujan2014-1972949.html来源...

Oracle Sql优化

(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)作为基础表,交叉表是指那个被其他表所引用的表.(2)      WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.(3)      SELECT子句中避免使用‘*‘:ORACLE在解析的过程中,会将'*'依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多...
代码星球 代码星球·2020-04-05
首页上一页...8384858687...下一页尾页