blogjava-凯发k8网页登录

blogjava-凯发k8网页登录http://www.blogjava.net/usherlight/category/9335.html天平山上白云泉,云自无心水自闲。何必奔冲山下去,更添波浪向人间!zh-cnwed, 28 sep 2016 10:18:20 gmtwed, 28 sep 2016 10:18:20 gmt60mysql sqlexception #hy000http://www.blogjava.net/usherlight/archive/2016/09/28/431844.html云自无心水自闲云自无心水自闲wed, 28 sep 2016 05:13:00 gmthttp://www.blogjava.net/usherlight/archive/2016/09/28/431844.htmlhttp://www.blogjava.net/usherlight/comments/431844.htmlhttp://www.blogjava.net/usherlight/archive/2016/09/28/431844.html#feedback0http://www.blogjava.net/usherlight/comments/commentrss/431844.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/431844.html在日志文件中看到这个错误信息cause: java.sql.sqlexception: #hy000

后来才知道这是因为数据库中有个别字段要求不能为空, 但是insert语句中没有提供数据,造成了这个错误。

关键是错误信息不明确直观,不容易知道是这个原因




云自无心水自闲 2016-09-28 13:13
]]>
我觉得最好用的mysql客户端工具-heidisqlhttp://www.blogjava.net/usherlight/archive/2011/08/08/355998.html云自无心水自闲云自无心水自闲mon, 08 aug 2011 02:36:00 gmthttp://www.blogjava.net/usherlight/archive/2011/08/08/355998.htmlhttp://www.blogjava.net/usherlight/comments/355998.htmlhttp://www.blogjava.net/usherlight/archive/2011/08/08/355998.html#feedback4http://www.blogjava.net/usherlight/comments/commentrss/355998.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/355998.html
heidisql是一家德国公司研发的轻量级的,开源mysql客户端工具。体积十分小巧,可是十分实用。

我之所以喜欢的原因:
1,有导入/导出的功能,可以将数据直接从文本文件中导入到数据库的数据表中。
2,可以将选中的数据导出成为sql语句
3,界面布置十分合理,操作简便

云自无心水自闲 2011-08-08 10:36
]]>
ibatis3临近发布正式版了http://www.blogjava.net/usherlight/archive/2010/01/15/309705.html云自无心水自闲云自无心水自闲fri, 15 jan 2010 12:49:00 gmthttp://www.blogjava.net/usherlight/archive/2010/01/15/309705.htmlhttp://www.blogjava.net/usherlight/comments/309705.htmlhttp://www.blogjava.net/usherlight/archive/2010/01/15/309705.html#feedback4http://www.blogjava.net/usherlight/comments/commentrss/309705.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/309705.html 那么ibatis3与ibatis2相比,究竟变化在哪里呢?
最重要的变化是ibatis3中引入了接口绑定(interface binding)的概念。在ibatis2中,没有应用java5的泛型,所以需要大量使用强制类型转换,比如:
employee employee = (employee)sqlmapper.queryforlist("getemployee", 5);
//...and...
list employees = sqlmapper.queryforlist("listallemployees");
但是在ibatis3中,方法改变成:
mapperfactory factory = someconfiguration.buildmapperfactory();
employeemapper employeemapper = factory.getmapper (employeemapper.class);
employee emp = empmapper.getemployee(5);
//...and...
list employees = empmapper.listallemployees();
所以ibatis3至少需要使用java5以上的版本。上面代码中,employeemapper是一个自定义的接口(注意,开发人员只需要定义一个接口,不需要提供具体的实现)
public interface employeemapper {
  employee getemployee (int employeeid);
  list listallemployees();
}
这样就行了,ibatis会自动为你生成接口的具体实现。是不是感觉有点酷?

云自无心水自闲 2010-01-15 20:49
]]>
hibernate使用annotation来处理onetomanyhttp://www.blogjava.net/usherlight/archive/2009/08/10/290529.html云自无心水自闲云自无心水自闲mon, 10 aug 2009 05:24:00 gmthttp://www.blogjava.net/usherlight/archive/2009/08/10/290529.htmlhttp://www.blogjava.net/usherlight/comments/290529.htmlhttp://www.blogjava.net/usherlight/archive/2009/08/10/290529.html#feedback0http://www.blogjava.net/usherlight/comments/commentrss/290529.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/290529.html 1. 数据库的表结构
create table  `software` (
  `id` int(10) unsigned not null auto_increment,
  `name` varchar(45) not null,
  primary key (`id`)
);


create table  `version` (
  `id` int(10) unsigned not null auto_increment,
  `publish_time` datetime not null,
  `software_id` int(10) unsigned not null,
  primary key (`id`)
);

2. java的class

---------------------------------------
software.java

import java.util.linkedhashset;
import java.util.set;

import javax.persistence.entity;

@entity
public class software {

    private long id;
    private string name;
    private set versions = new linkedhashset();

    @id
    @generatedvalue(strategy = generationtype.identity)
    public long getid() {
        return id;
    }

    public void setid(long id) {
        this.id = id;
    }
    public string getname() {
        return name;
    }
    public void setname(string name) {
        this.name = name;
    }
   
    @onetomany(cascade = { cascadetype.all }, mappedby="software")
    @joincolumn(name = "software_id")
    @fetch(fetchmode.subselect)
    @orderby("id")
    public set getversions() {
        return version;
    }

    public void setversions(set versions) {
        this.versions = versions;
    }
}

-----------------------------------------------------
version.java

import java.util.date;
import javax.persistence.entity;

@entity
public class version{
    private long id;
    private date publishtime;
    private software software;
   
    @id
    @generatedvalue(strategy = generationtype.identity)
    public long getid() {
        return id;
    }

    public void setid(long id) {
        this.id = id;
    }
    public date getpublishtime() {
        return publishtime;
    }
    public void setpublishtime(date publishtime) {
        this.publishtime = publishtime;
    }
   
    @manytoone(cascade = { cascadetype.persist, cascadetype.merge })
    @joincolumn(name = "software_id")
    public software getsoftware() {
        return software;
    }

    public void setsoftware(software software) {
        this.software = software;
    }
}

3. 测试代码

software software = new software();
software.setname("windows");

version version = new version;
version.setpublishtime(new date());
version.setsoftware(software);

software.getversions().add(version);

software.save();

hibernate会自动生成两条insert语句,一条是software的insert语句,一条是version的insert语句。
同样,如果删除software的话,也会生成两条delete语句


云自无心水自闲 2009-08-10 13:24
]]>
mysql replication的问题http://www.blogjava.net/usherlight/archive/2009/05/02/268645.html云自无心水自闲云自无心水自闲sat, 02 may 2009 14:06:00 gmthttp://www.blogjava.net/usherlight/archive/2009/05/02/268645.htmlhttp://www.blogjava.net/usherlight/comments/268645.htmlhttp://www.blogjava.net/usherlight/archive/2009/05/02/268645.html#feedback0http://www.blogjava.net/usherlight/comments/commentrss/268645.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/268645.html 今天,我在sql brower中用sql命令插入了几条数据却没有被复制。
原因是这样的:我在sql browser中没有选择我需要数据更新的数据库,而且使用mysql这个数据库作为当前数据库。
而在sql中指定了我的数据库名称,这样,我的数据如我所愿地进行了更新。
但是,通过这种方式的操作好像无法被复制。
我思考了一下,觉得应该是log记录的问题,mysql设置了数据库复制后,有一个log会记录所有数据库的变更,另一个数据库会根据这个log来进行同样的数据操作。这样就实行了数据的复制。
我感觉如果你没有使用use <数据库名>这个命令,而是使用其他的数据库作为当前数据库,那么log的记录就缺失了,因此复制也将不会进行。

云自无心水自闲 2009-05-02 22:06
]]>
mysql的备份任务不能正常运行http://www.blogjava.net/usherlight/archive/2008/12/17/246766.html云自无心水自闲云自无心水自闲wed, 17 dec 2008 00:04:00 gmthttp://www.blogjava.net/usherlight/archive/2008/12/17/246766.htmlhttp://www.blogjava.net/usherlight/comments/246766.htmlhttp://www.blogjava.net/usherlight/archive/2008/12/17/246766.html#feedback0http://www.blogjava.net/usherlight/comments/commentrss/246766.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/246766.html 马上开始查找原因。首先在mysql administrator里立即运行备份任务,没有问题,备份文件很快就生成了。但备份任务就是不能正确执行。
在事件查看器里发现了mysql的错误日志,root@localhost(password: no)access denied, error number: 1045。
奇怪,root@localhost无法登录数据库?可是登录mysql administrator,并且在里面单独运行backup都是正常的啊。
冷静一下,在windows控制面板的计划任务里,找到数据库备份的计划任务(mysql5.x的备份计划实际上是生成了一个windows的计划任务,执行其设置好的脚本),查看了一下脚本,并没有什么问题。
再仔细研究了一下,发现问题应该是在password:no上,相当于试图不提供密码而使用root@localhost进行备份,所以出错了。那么如何改正呢。
最后发现问题是在;mysql_user_connection.xml里。这个文件里包含了mysql登录用的别名信息。结果不知道是什么原因这个文件里相同的别名出现了两次,第一次的配置里密码为空,而第二次的配置是正确的。

  2
  3
 
   
    root
    localhost
    3306
   
   
   
   
    0
    2
    3
   
 

 
    proddb
    root
    localhost
    3306
    message
   
   
   
    0
    2
    3
   
 

 
    proddb
    root
    localhost
    3306
    message
   
   
   
    0
    1
    3
    9d203859e
 



而登录mysql administrator时,根据last_connection的值,使用的是proddb的第二个配置。所以可以正常登录,而且在里面执行脚本,备 份都没有问题,而windows执行计划任务时,通过别名proddb在mysql_user_connection.xml中查找,找到的是第一个,其 中没有密码信息,所以报错。
问题找到了,解决就容易了,删除mysql_user_connection.xml中的proddb的第一个配置。备份计划任务果然能够正确地执行了。



云自无心水自闲 2008-12-17 08:04
]]>
连接oracle 10g时ora-12514: tns: 监听进程不能解析在连接描述符中给出的 service_name 错误的解决http://www.blogjava.net/usherlight/archive/2007/02/12/99566.html云自无心水自闲云自无心水自闲mon, 12 feb 2007 15:45:00 gmthttp://www.blogjava.net/usherlight/archive/2007/02/12/99566.htmlhttp://www.blogjava.net/usherlight/comments/99566.htmlhttp://www.blogjava.net/usherlight/archive/2007/02/12/99566.html#feedback50http://www.blogjava.net/usherlight/comments/commentrss/99566.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/99566.html可以安装完毕后,使用的时候却遇到了麻烦:如果只是本机的访问 sqlplus system/manager这样是没有问题的。
但是如果使用 sqlplus 的时候却会报ora-12514的错误。

解决方法:
1. 打开/network/admin/listener.ora文件,找到:

   sid_list_listener =
   (sid_list =
     (sid_desc =
       (sid_name = plsextproc)
       (oracle_home = d:\oracle\product\10.2.0\db_1)
       (program = extproc)
     )
   )
  2. 添加:
            (sid_desc =
       (global_dbname = oracle)
       (oracle_home = d:\oracle\product\10.2.0\db_1) 
       (sid_name = oracle)
      )
  3. 最后变成:
 sid_list_listener =
   (sid_list =
     (sid_desc =
       (sid_name = plsextproc)
       (oracle_home = d:\oracle\product\10.2.0\db_1)
       (program = extproc)
     )
     (sid_desc =
       (global_dbname = oracle)
       (oracle_home = d:\oracle\product\10.2.0\db_1) 
       (sid_name = oracle)
      )
   )
  4. 保存文件,重启服务中的tnslistener,ok!

ps: oracle10g有一个好处:不再与tomcat的端口冲突了。原来的oracle9i安装完成后,8080端口就会被占用,一般都需要改tomcat的端口。现在终于轻松了。

]]>
swissql oracle to sql server3.0(一个从oracle迁移到sqlserver数据库工具)的破解手记http://www.blogjava.net/usherlight/archive/2006/03/31/38561.html云自无心水自闲云自无心水自闲fri, 31 mar 2006 15:26:00 gmthttp://www.blogjava.net/usherlight/archive/2006/03/31/38561.htmlhttp://www.blogjava.net/usherlight/comments/38561.htmlhttp://www.blogjava.net/usherlight/archive/2006/03/31/38561.html#feedback23http://www.blogjava.net/usherlight/comments/commentrss/38561.htmlhttp://www.blogjava.net/usherlight/services/trackbacks/38561.html阅读全文

云自无心水自闲 2006-03-31 23:26 发表评论
]]>
网站地图