⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mssql2mysql.java

📁 源码/软件简介: 云网论坛1.1RC国际版是采用JSP开发的集论坛、CMS(网站内容管理系统)、博客、聊天室、商城、交友、语音灌水等于一体的门户式社区。拥有CWBBS ( Cloud Web BBS
💻 JAVA
字号:
package com.redmoon.forum;

import cn.js.fan.db.Conn;
import cn.js.fan.web.Global;
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.jsp.JspWriter;
import java.sql.DriverManager;
import org.apache.log4j.Logger;
import java.sql.Connection;
import cn.js.fan.util.StrUtil;

public class MSSQL2MySql {
    Logger logger = Logger.getLogger(MSSQL2MySql.class.getName());
    public MSSQL2MySql() {
    }

    public int importDump(JspWriter out, String filePath) {
        if (true)
            return 0;
        Conn conn = new Conn(Global.defaultDB);
        // String path = "d:\zjrj.sql";
        // 创建新的BufferedReader对象
        String sql = "";
        String curLine = "";
        int count = 0;
        try {
            BufferedReader file = new BufferedReader(new FileReader(filePath));
            Statement stmt = conn.getStatement();
            if (stmt == null)
                stmt = conn.getCon().createStatement(ResultSet.
                        TYPE_SCROLL_INSENSITIVE,
                            ResultSet.CONCUR_READ_ONLY);
            // conn.getCon().setAutoCommit(false);

            // 读取数据并保存到currentRecord变量中
            boolean isSqlEnd = false;
            while (curLine != null) {
                curLine = file.readLine();
                if (curLine != null) {
                    // 判断是否为注释,#号开头,是则继续读取下一行
                    if (curLine.startsWith("#"))
                        continue;
                    // 判断是否为一个语句的结束
                    if (curLine.endsWith(");") || curLine.endsWith("InnoDB;") || curLine.endsWith("TABLES;") || curLine.equals("WRITE;"))
                        isSqlEnd = true;
                    else
                        isSqlEnd = false;
                    sql += curLine;
                }
                if (!sql.equals("") && isSqlEnd) {
                    // 执行批处理
                    // stmt.addBatch(sql);
                    // int[] updateCounts = stmt.executeBatch();
                    // for (int i=0; i<updateCounts.length; i++) {
                    //    count += updateCounts[i];
                    // }

                    stmt.execute(sql);
                    sql = "";
                    isSqlEnd = false;
                }
            }
            // conn.getCon().commit();
        } catch (Exception e) {
            try {
                out.println(e.getMessage());
                out.println("<BR>" + sql);
            }
            catch (Exception e1) {}
        } finally {
            if (conn != null) {
                conn.close();
            }
        }
        return count;
    }

    public void importSSO() {
        Conn conn = new Conn(Global.defaultDB);
        Connection con = null;
        Statement stmt = null;
        try {
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            con = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=sso", "redmoon", "redmoonredmoon");
            if (stmt==null)
                stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                         ResultSet.CONCUR_READ_ONLY);
            ResultSet rs = stmt.executeQuery("select nick,pwd from users");
            while (rs.next()) {
                String nick = rs.getString(1);
                String pwd = rs.getString(2);
                String sql = "update sq_user set pwd=" + StrUtil.sqlstr(pwd) + " where name=" + StrUtil.sqlstr(nick);
                logger.info("nick=" + nick + " pwd=" + pwd);
                conn.executeUpdate(sql);
            }
        }
        catch (Exception e) {
            logger.error("SQL Exception occur. Message is:");
            logger.error(e.getMessage());
        }
        finally {
            try {
                if (stmt != null) {
                    stmt.close();
                    stmt = null;
                }
                if (con != null) {
                    con.close();
                    con = null;
                }
            }
            catch (Exception e) {}
            if (conn!=null)
                conn.close();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -