
数据库
文章平均质量分 60
lzhw1985
这个作者很懒,什么都没留下…
展开
-
linux下启动oracle
启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。 一、如何启动数据库实例 1.进入到sqlplus启动实例[oracle@redhat ~]$ su - oracle --“切换到oracle用户”Password:[oracle@redhat ~]$ lsnrctl start ...原创 2014-03-10 15:44:41 · 102 阅读 · 0 评论 -
关于Column '*' not found 解决方案 Hibernate使用SQL查询返回实体类型,即返回某个类,或实体类...
[java] view plaincopysql为select a.*, b.id as childId, b.childName from a,b where a.id = b.id 当遇到Column '*' not found找不到的时候,首先检查该字段是否存在,如果存在还有这个错误,有两种解决办法第一种...原创 2012-12-26 08:56:09 · 799 阅读 · 0 评论 -
SQL字段值合并 同表同字段不同值合并
例 id name 1 A 1 B 1 C 2 a 2 b不用修改就用查询能成这样吗?id 别名1 A,B,C2 a,bselect id,group_concat(name) from 原表 group by id2012-12-25 14:30:28 · 516 阅读 · 0 评论 -
hibernate 中createQuery与createSQLQuery(转载)
原来的查询语句:String sql = "select a.* from tb_doc_catalog a where a.cat_code like '"+catCode+"%'";Session session = this.getSession();try {List catNameList = session.createSQLQuery(sql).list();return ...原创 2012-12-25 14:26:12 · 170 阅读 · 0 评论 -
行转列和列转行
行列互转,是一个经常遇到的需求。实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现。在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和总结过。为了加深认识,再总结一次。行列互转,可以分为静态互转,即事先就知道要处理多少行(列);动态互转,事先不知道处理多少行(列)。--创建测试环境USE tempdb;...原创 2012-12-25 14:24:22 · 162 阅读 · 0 评论 -
oracle数据库删除数据Delete语句和Truncate语句的对比
当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。一、delete语句(1)有条件删除 语法格式:delete [from] table_name [where condition];如:删除users表中的userid为‘001’的数据:delete from users wher...原创 2012-12-21 16:44:04 · 173 阅读 · 0 评论 -
修改Oracle最大连接数
1、修改Oracle最大连接数的方法 a、以sysdba身份登陆PL/SQL 或者 Worksheet b、查询目前连接数 show parameter processes; c、更改系统连接数 alter system set processes=1000 scope=spfile; d、创建pfile create pfile from...原创 2012-12-21 16:43:15 · 82 阅读 · 0 评论 -
ORACLE死锁的解决
死锁是数据库经常发生的问题,数据库一般不会无缘无故产生死锁,死锁通常都是由于我们应用程序的设计本身造成的。产生死锁时,如何解决呢,下面是常规的解决办法:1)执行下面SQL,先查看哪些表被锁住了: select b.owner,b.object_name,a.session_id,a.locked_modefrom v$locked_object a,dba_objects bwhere b.obj...原创 2012-12-21 16:42:53 · 215 阅读 · 0 评论 -
查看oracle当前连接数
怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。select * from v$session where username is not nullselect username,count(username) from v$session where username is not null group by username #查看不同用户的连接数selec...原创 2013-06-05 17:38:41 · 106 阅读 · 0 评论 -
javax.persistence.OneToMany.orphanRemoval()Z的另一种原因及解决办法
hibernate javax.persistence.OneToMany.orphanRemove()Z。。。这个错误。后来经过查阅网上资料,才知道3.5这个版本和j2ee里边的javaee.jar有冲突。Fuck!估计3.6版本应该修复了这个bug。我手边有个3.2版本的。对hibernate需要的jar包进行了总结:Hibernate3.5必须的jar包 ...原创 2013-06-03 10:26:15 · 156 阅读 · 0 评论 -
JDBC执行Oracle传入参数为集合对象的存储过程
当需要把插入多条数据的行为合并为一个事务时,可以考虑把一个list型数据作为参数传入存储过程,可以调用jdbc内部实现类来实现,这些类在classes12.zip(oracle 8,别的版本可能是其他名字的zip包)。 如:(一) 需要将一个list传入存储过程。 具体操作如下: 1,建立数据库对象来映射list数据类型。 --定义一个与list中各元素的数据类型相同的数据库对象 ...原创 2012-12-17 16:11:50 · 389 阅读 · 0 评论 -
MySQL limit实际用法的详细解析
MySQL limit的实际用法的详细解析,在我们使用相关的查询语句的时候,一般都要返回前几条或是中间的某几行数据,这时你应如何处理呢?不必担心,MySQL数据库已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。M...原创 2012-12-26 08:56:27 · 115 阅读 · 0 评论 -
Java中使用hql,sql查询返回的list<Object> 转成需要的实体对象--方法讲解!
需要将Query对象setResultTransformer: List list = session.createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();//此时,每个Object可以转换成一个MapMap map = (Map) list.get(i);...原创 2012-12-26 08:56:42 · 285 阅读 · 0 评论 -
hibernate-Query.list()与Query.iterate()比较
对于list方法而言,实际上Hibernate是通过一条Select SQL获取所有的记录。并将其读出,填入到POJO中返回。而iterate 方法,则是首先通过一条Select SQL 获取所有符合查询条件的记录的id,再对这个id 集合进行循环操作,通过单独的Select SQL 取出每个id 所对应的记录,之后填入POJO中返回。也就是说,对于list 操作,需要一条SQL 完成。而对...原创 2012-12-26 08:56:50 · 88 阅读 · 0 评论 -
ora-01654:unable to extend index xx.PK_PRICE_ID by 1024 in tablespace users
在网上查询了发现是空间不足导致。那么则需要增大表空间1、首先需查询表空间的位置 oracle查询表空间的datafile存放位置select file_name from dba_data_files根据查询发现目前使用的表空间已经有7G了2、增大表空间,增大到20GALTER DATABASE DATAFILE '/oracle/oradata/db/user01...原创 2014-03-10 15:37:44 · 392 阅读 · 0 评论 -
oracle的启动和关闭
一、sql*plus方式: 用sql*plus来连接到Oracle Sqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA身份连接到oracle . 启动 ...原创 2013-09-16 13:17:29 · 128 阅读 · 0 评论 -
Oracle创建删除用户、角色、表空间、导入导出
//创建临时表空间 create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; //tempfile参数必须有 //创建数据表空间 create ...原创 2014-02-27 10:32:35 · 116 阅读 · 0 评论 -
ora-01654:unable to extend index xx.PK_PRICE_ID by 1024 in tablespace users
在网上查询了发现是空间不足导致。那么则需要增大表空间1、首先需查询表空间的位置 oracle查询表空间的datafile存放位置select file_name from dba_data_files根据查询发现目前使用的表空间已经有7G了2、增大表空间,增大到20GALTER DATABASE DATAFILE '/oracle/oradata/db/user0...原创 2014-02-27 10:00:22 · 1390 阅读 · 0 评论 -
ORA-01000: maximum open cursors exceeded
在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。 实际上,这个错误的原因,主要还是代码问题引起的。 ora-01000: maximum open cursors exceeded. 表示已经达到一个进程打开的最大游标数。 这样的错误很容易出现在Java代码中的主要原因是:Java...原创 2013-02-26 14:22:31 · 91 阅读 · 0 评论 -
ORA-00947: Not enough values 没有足够的值
执行insert的时候出现这个错误。insert into 表1 values (123,2423,12);表1的结构有4个column,显然插入的值只有三个,因此才会出现这个问题。再加个column 的值执行后,ok。倘若只想插入三个数值的话:insert into 表1(a,b,c) values (123,2423,12);用这个语句就可以了。create or...原创 2013-02-26 14:21:55 · 2116 阅读 · 0 评论 -
ORA-12899: value too large for column
昨天,同事导数据,本来一直好用的文件,就一直在报错:ORA-12899: value too large for column,本来以为程序修改导致字段长度变了,就改了一张表的结构。结果可好,导下一张表依然报错。。报错也好,也就确定了不是程序问题,是DB做的有问题。后来靠着强大的google找到了答案,才觉得Oracle error code也很强大! 通常会查询NLS_CHARACTE...原创 2013-02-26 14:21:05 · 531 阅读 · 0 评论 -
linux下启动oracle
启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。 一、如何启动数据库实例 1.进入到sqlplus启动实例[oracle@redhat ~]$ su - oracle --“切换到oracle用户”Password:[oracle@redhat ~]$ lsnrctl start ...原创 2013-08-08 10:55:04 · 93 阅读 · 0 评论 -
hibernate 3.2 jar包讲解
包 作用 说明jta.jar JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。 必要commons-logging.jar Apache Commons包中的一个,包含了日志功能,必须使用的jar包。这个包本身包含了一个Simple Logger,但是功能很弱。在运行的时候它会先在CLASSPATH找l...原创 2013-07-03 14:02:03 · 140 阅读 · 0 评论 -
MSSQL内外连接(INNER JOIN)语句详解
有两个表A和表B。表A结构如下:Aid:int;标识种子,主键,自增IDAname:varchar数据情况,即用select * from A出来的记录情况如下图1所示:图1:A表数据表B结构如下:Bid:int;标识种子,主键,自增IDBnameid:int数据情况,即用select * from B出来的记录情况如下图2所示:图2:B表数据为了把Bid和Aid加以区分,不让大家有误解,所以把B...原创 2012-12-29 14:41:23 · 146 阅读 · 0 评论 -
Hibernate中DetachedCriteria的使用
Criteria對SQL進行封裝,讓開發人員可以用物件的方式來對資料庫進行操作,例如下面的查詢User表格中的所有資料:Criteria criteria = session.createCriteria(User.class);// 查詢user所有欄位List users = criteria.list();Iterator iterator = users.iterator();Sys...原创 2012-12-17 16:11:07 · 102 阅读 · 0 评论 -
Oracle定时执行存储过程
Oracle定时执行存储过程 包含以下子过程:Broken()过程。change()过程。Interval()过程。Isubmit()过程。Next_Date()过程。Remove()过程。Run()过程。Submit()过程。User_Export()过程。What()过程。1、Broken()过程更新一个已提交的工作的状态,典型地是用来...原创 2012-12-17 16:09:03 · 97 阅读 · 0 评论 -
如何在JAVA程序中使用Struct一次传入多条数据给Oracle的存储过程。
为了减少连接Oracle数据库的数量,需要将多条数据作为变量一次传入Oracle的存储过程中。方法如下: 步骤一:定义对象类型。 CREATE TYPE department_type AS OBJECT ( DNO NUMBER (10), NAME VARCHAR2 (50), LOCATION VARCHAR2 (50) ); 步骤二:定义一个对象类型的数组对象。 CREATE TYPE d...原创 2013-03-15 16:38:04 · 123 阅读 · 0 评论 -
使用db link 把ORACLE 数据库中的表复制到另外一个数据库,也可以把表中的数据从一个库复制到另外一个库的表...
数据库1:db1数据库2:db2一、下面把db1里面的表,复制到到db2: 1.在db2里面创建db link create public database link mydblink connect to scott identified by tigger using 'db1'; 2.只复制一个表和数据。 create table product as select *...原创 2013-03-15 16:36:58 · 344 阅读 · 0 评论 -
Oracle存储过程基本语法
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;行2: IS关键词表明后面将跟随一...原创 2013-03-15 16:35:55 · 101 阅读 · 0 评论 -
Oracle 跨库 查询 复制表数据
方法一:在目前绝大部分数据库有分布式查询的需要。下面简单的介绍如何在oracle中配置实现跨库访问。比如现在有2个数据库服务器,安装了2个数据库。数据库server A和B。现在来实现在A库中访问B的数据库。第一步、配置A服务器端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为:$ORACLE_H...原创 2013-03-15 16:34:35 · 129 阅读 · 0 评论 -
Oracle 11g存在密码过期问题
【原因/触发因素】确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。【影响和风险】影响密码过期后,业务进程连接数据库异常,影响业务使用。问题发生频率数据库密码过期后,业务进程一旦重启会提示连接失败。【解决方案】按照如下步骤进行操作:1、查看用户的proifle是哪个,一般是defau...原创 2012-07-04 09:59:38 · 83 阅读 · 0 评论 -
监控和剖析数据库操作 -- P6Spy、SQL Profiler、IronTrack SQL 使用简介
在我们 Java 开发应用程序的过程中,难免会碰到系统的性能问题,特别在企业应用的开发过程中,都会与数据库进行打交道。当我们碰到数据库性能时,最有效的就是直接跟踪每一个 SQL 语句的执行情况,SQL 语句的优化、索引的优化往往也是最容易取得最直接的效果的。下面,我们首先开始介绍 P6Spy 这个剖析工具,看它是如何无侵入性地进行数据库操作的监控与剖析。P6SpyP6Spy 是一...原创 2012-06-28 12:57:36 · 155 阅读 · 0 评论 -
Cannot create JDBC driver of class 'com.p6spy.engine.spy.P6SpyDriver'
Cannot create JDBC driver of class 'com.p6spy.engine.spy.P6SpyDriver'开始不知为何报如此错,因为用IronTrackSQL已经不是一次两次了 jar包,spy.properties都应该没问题,但是就是报这个错.后来在网上查到,把spy.properties放到tomcat/bin目录下即可解决该问题. 这种...原创 2012-06-28 12:56:10 · 1011 阅读 · 0 评论 -
P6SPY、SQL Profiler结合使用
弄hibernate时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像PreparedStatement一样,用?来代替的。 用p6spy可以达到显示的那些参数原值的目的,但可读性差。可以利用SQL Profiler来处理这个事情。 p6spy: http://sourceforge.net/projects/p6spy/ SQL Profile: http:...原创 2012-06-28 12:54:13 · 114 阅读 · 0 评论 -
Hibernate总结
Hibernate总结1.对象的持久化理论2.ORM和Hibernate的相关知识(理解)3.Hibernate核心API(理解)4.Hibernate开发步骤:(重点:必须掌握)5.Hibernate主键策略6.Hibernate的查询方案7.Hibernate对象状态8.映射(重点掌握和理解,注意配置的细节)9.Hibernate控制的事务 软件开发的分层思想: 三层架构:...原创 2012-06-27 13:37:37 · 90 阅读 · 0 评论 -
Hibernate学习
Hibernate学习单主键、没有外键的Hibernate配置实例<hibernate-mapping><class name="com.pms.bean.base.BadCodeBean" table="tbNC"><id name="badCode" column="NC_ID"><generator原创 2012-06-04 15:27:22 · 93 阅读 · 0 评论 -
ARRAY、TABLE类型批量入库
java操作Oracle数据库——ARRAY、TABLE类型批量入库 首先是我的数据库表(PLSQL操作) create table TEST_TABLE ( yid NUMBER, ytel VARCHAR2(50), yanumber VARCHAR2(50) ); 这里记录两种方式:不管哪种方式、一定要...原创 2013-03-15 16:39:52 · 121 阅读 · 0 评论 -
Oracle存储过程测试总结
Oracle存储过程测试总结存储过程创建语法:•create [or replace] procedure procedure_name• [ (argment [ { in| in out }] type,• argment [ { in | out | in out } ] type• { is | as }• <类型.变量的说明&...原创 2013-03-17 14:42:27 · 282 阅读 · 0 评论 -
【Oracle】存储过程(Procedure)与(自定义)函数(Function)的区别
存储过程Procedure(自定义)函数Function存储过程需要单独执行,不一定有返回值;函数可以随处调用,一定有返回值,不一定是变量,也可以是表。用于在数据库中完成特定的操作或任务用于特定的数据程序头部声明时不需描述返回类型程序头部声明时必须返回类型可以作为一个独立的语句执行不能独立执行,必须作为表达式的一部分调用可以通过out/in out返回零...原创 2013-03-17 14:42:42 · 263 阅读 · 0 评论 -
createCriteria用法
Session session= this.getSession(); List list=session.createCriteria(MeterUser.class).add(Restrictions.eq("name", "11")).addOrder(Order.desc("userid")).list();Restrictions的用法: 方法说明...原创 2012-12-17 16:06:51 · 374 阅读 · 0 评论