posts - 44,  comments - 48,  trackbacks - 0
  2007年9月28日
1.下载所需软件
    1.1SVN服务端(svn-1.4.3-setup.exe)
        http://subversion.tigris.org/project_packages.html
    1.2把SVN设置成window服务(SVNService.exe)
        我没有下载地址,如有需要,留下你的email
    1.3Eclipse的SVN插件(用Eclipse插件下载):

2.配置服务端
    2.1安装svn-1.4.3-setup.exe
    2.2开始->运行->cmd->进入SVN服务端的安装目录下面的bin目录
    2.3cmd下运行svnadmin create SVN库的位置(如:D:\SVN_PRJ)
    2.4复制SVNService.exe到SVN服务端安装目录下的bin目录
    2.5cmd下运行SVNService -install -d -r D:\SVN_PRJ(SVN库的位置)
    2.6如果想撤消掉后台服务,则运行SVNService -remove
    2.7进入D:\SVN_PRJ\conf目录下编辑svnserve.conf,内容如下(切记下面几行字前不能有空格):
        [general]
        anon-access = read    #匿名访问权限,取值为read,write,none
        auth-access = write   #认证用户的权限
        password-db = passwd #认证用户数据库,即允许连到SVN的用户(当前目录下的passwd文件中存放的用户及密码)
        realm = TESTING       #在用户认证界面上出现的提示语句
    2.8编辑D:\SVN_PRJ\conf\passwd文件,内容如下
        [users]
        test = password       #这时你连接SVN的时候可以使用用户名为test密码为password来连接SVN
    2.9开始->设置->控制面板->管理工具->服务->启动SVNService服务

3.Eclipse下配置SVN插件
    3.1帮助->软件更新->查找并安装->搜索要安装的新功能部件->新建远程站点->输入一个任意的名称->URL输入

http://subclipse.tigris.org/update_1.2.x->确定->选中你刚才添加的远程站点->完成->选中Subclipse->执行安装操作
    3.2窗口->打开透视图->SVN资源库研究->右键->新建->资源库位置->URL中输入svn://127.0.0.1/->输入2.7定义的用户名test和密码

password

4.提交工程
    4.1右击工程->小组->共享项目->选择SVN->选择svn://127.0.0.1(如果没有,则创建一个新的资源库)->下一步->完成

5.下载工程
    5.1在SVN资源库透视图下,点开svn://127.0.0.1,会显示出现在本机SVN上的所有工程,右击你想下载的工程->检出为->下一步->完成

6.基本操作
    6.1同步
        在MyEclipse J2EE透视图下,右击你要同步的工程->小组->与资源库同步->这时会进入同步透视图,会显示出本机与SVN上内容有不同的文件,双击文件名,会显示出两个文件中哪里不同;
    6.2提交
        在同步透视图下有"灰色向右的箭头,表示你本机修改过",右击该文件,可以选择提交操作;
    6.3覆盖/更新
        在同步透视图下有"蓝色向左的箭头,表示你本机修改过",右击该文件,可以选择覆盖/更新操作;

7.图标说明
    7.1灰色向右箭头:本地修改过
    7.2蓝色向左箭头:SVN上修改过
    7.3灰色向右且中间有个加号的箭头:本地比SVN上多出的文件
    7.4蓝色向左且中间有个加号的箭头:SVN上比本地多出的文件
    7.5灰色向右且中间有个减号的箭头:本地删除了,而SVN上未删除的文件
    7.6蓝色向左且中间有个减号的箭头:SVN上删除了,而本地未删除的文件
    7.7红色双向箭头:SVN上修改过,本地也修改过的文件

8.一些我遇到的出错信息
    8.1在上面讲的3.2步输入URL(svn://127.0.0.1)点下一步出现"svnserve.conf:12: Option expected"错误
        你打开svnserve.conf文件中的第12行,该错误是由于该行的前面有空格引起的,把左边多出的空格删除掉即可;
    8.2在上面讲的3.2步输入URL(svn://127.0.0.1/SVN_PRJ)点下一步出现"svn://127.0.0.1/SVN_PRJ non-existent in revision '7'"错误
        URL错了,应该输入svn://127.0.0.1即可
9.SVN服务端自带的基于命令行的操作语句
    9.1设置SVN服务端安装目录下的/bin到环境变量中;
    9.2在命令行下运行svn import c:/test svn://127.0.0.1/test -m "initial import" --username test --password passwd可进行上传操作
    9.3进入你要检出的目录,在命令行下运行svn checkout svn://127.0.0.1/test --username test -password passwd 可进行检出工程的操作
    9.4在命令行下运行svn commit test.txt -m "modified" --username test -password passwd 可进行提交操作
    9.5在命令行下运行svn update -r HEAD test.txt --username test -password passwd 可进行更新操作

注:上面讲的127.0.0.1可以换成外网IP,或者局域网IP皆可(即,在家里创建一个SVN服务端,即可在公司去访问家里的SVN)
posted @ 2008-01-05 23:40 摩西 阅读(38577) | 评论 (6)编辑 收藏

import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TempClass {

 /**
  * @param args
  * @throws UnsupportedEncodingException
  * @throws ClassNotFoundException
  * @throws SQLException
  */
 public static void main(String[] args) throws UnsupportedEncodingException {
  String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=tran";
  try {
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
   Connection conn = DriverManager.getConnection(url, "sa", "sa");
   Statement st = conn.createStatement();
   ResultSet rs = st.executeQuery("select vcword from cn_other");

   // mysql
   String url_mysql = "jdbc:mysql://127.0.0.1:3306/zwspace";
   Class.forName("org.gjt.mm.mysql.Driver");
   Connection conn_mysql = DriverManager.getConnection(url_mysql,
     "root", "root");
   PreparedStatement st_mysql = conn_mysql
     .prepareStatement("insert into chds_cihui(name) values(?)");

   if (rs.next()) {

    String rsname = rs.getString("vcword");
    // String name = new String(rsname.getBytes("GB2312"),
    // "GB2312");
    // String name = new String(rsname.getBytes("UTF-8"), "GB2312");
    // String name = new String(rsname.getBytes("utf8"), "GB2312");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "GB2312");
    // String name = new String(rsname.getBytes("GBK"), "GB2312");

    // String name = new String(rsname.getBytes("GBK"), "GBK");
    // String name = new String(rsname.getBytes("GB2312"), "GBK");
    // String name = new String(rsname.getBytes("UTF-8"), "GBK");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "GBK");

    // String name = new String(rsname.getBytes("GBK"), "UTF-8");
    // String name = new String(rsname.getBytes("GB2312"), "UTF-8");
    // String name = new String(rsname.getBytes("UTF-8"), "UTF-8");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "UTF-8");

    // String name = new String(rsname.getBytes("GBK"),
    // "iso-8859-1");
    // String name = new String(rsname.getBytes("GB2312"),
    // "iso-8859-1");
    // String name = new String(rsname.getBytes("UTF-8"),
    // "iso-8859-1");
    // String name = new String(rsname.getBytes("iso-8859-1"),
    // "iso-8859-1");

    // String name = new String(rsname.getBytes(), "GBK");
    // String name = new String(rsname.getBytes(), "GB2312");
    // String name = new String(rsname.getBytes(), "UTF-8");
    // String name = new String(rsname.getBytes(), "iso-8859-1");
    String name = rsname;

    System.out.println(rsname);

    st_mysql.setString(1, name);
    st_mysql.executeUpdate();
   }
   rs.close();
   st.close();
   conn.close();

   st_mysql.close();
   conn_mysql.close();

  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }

}



试过以上的所有编码都无法解决数据在MYSQL中的乱码问题,看来是jdbc连mysql时的编码不对,于是
将   String url_mysql="jdbc:mysql://127.0.0.1:3306/zwspace";后加上编码
   String url_mysql="jdbc:mysql://127.0.0.1:3306/zwspace?useUnicode=true&characterEncoding=utf8";终于OK了

posted @ 2007-11-20 15:21 摩西 阅读(850) | 评论 (0)编辑 收藏
在使用hibernate项目中,持久化类的ID用Long与long有很大区别!!
用long 作为id,当一个新的临时类要持久化时会报一个这种错:
Exception executing batch: org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
因为这个临时类,已经有一个id=0 (long的默认值);这时hibernate 为错认为这是一条持久化类,从而进行更新操作,故报错!!
这时把持久类的id 类型改成Long 就OK了,再create 时,临时类的id为null ,hibernate 才会正确的判断这是临时类而进行save操作!!
posted @ 2007-09-28 11:42 摩西 阅读(2432) | 评论 (1)编辑 收藏